Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / DynamicEndpoint.cs / 1305376 / DynamicEndpoint.cs
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.ServiceModel.Discovery
{
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
using System.ServiceModel.Dispatcher;
using System.Runtime;
using System.Xml;
[Fx.Tag.XamlVisible(false)]
public class DynamicEndpoint : ServiceEndpoint
{
DiscoveryClientBindingElement discoveryClientBindingElement;
internal DynamicEndpoint(ContractDescription contract)
: base(contract, null, DiscoveryClientBindingElement.DiscoveryEndpointAddress)
{
this.discoveryClientBindingElement = new DiscoveryClientBindingElement();
}
public DynamicEndpoint(ContractDescription contract, Binding binding)
: base(contract, binding, DiscoveryClientBindingElement.DiscoveryEndpointAddress)
{
if (binding == null)
{
throw FxTrace.Exception.ArgumentNull("binding");
}
this.discoveryClientBindingElement = new DiscoveryClientBindingElement();
if (this.ValidateAndInsertDiscoveryClientBindingElement(binding))
{
this.FindCriteria.ContractTypeNames.Add(
new XmlQualifiedName(contract.Name, contract.Namespace));
}
else
{
throw FxTrace.Exception.Argument(
"binding",
SR.DiscoveryClientBindingElementPresentInDynamicEndpoint);
}
}
public DiscoveryEndpointProvider DiscoveryEndpointProvider
{
get
{
return this.discoveryClientBindingElement.DiscoveryEndpointProvider;
}
set
{
if (value == null)
{
throw FxTrace.Exception.ArgumentNull("value");
}
this.discoveryClientBindingElement.DiscoveryEndpointProvider = value;
}
}
public FindCriteria FindCriteria
{
get
{
return this.discoveryClientBindingElement.FindCriteria;
}
set
{
if (value == null)
{
throw FxTrace.Exception.ArgumentNull("value");
}
this.discoveryClientBindingElement.FindCriteria = value;
}
}
internal bool ValidateAndInsertDiscoveryClientBindingElement(Binding binding)
{
CustomBinding customBinding = new CustomBinding(binding);
if (customBinding.Elements.Find() == null)
{
customBinding.Elements.Insert(0, this.discoveryClientBindingElement);
this.Binding = customBinding;
return true;
}
else
{
return false;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpModuleAction.cs
- GlyphTypeface.cs
- CompressStream.cs
- Section.cs
- PerformanceCounterPermissionEntry.cs
- TypeDependencyAttribute.cs
- OleDbDataAdapter.cs
- PathFigureCollectionValueSerializer.cs
- CreateUserWizardStep.cs
- XPathAncestorIterator.cs
- BindValidator.cs
- ModelPropertyCollectionImpl.cs
- SettingsAttributes.cs
- GacUtil.cs
- CommandTreeTypeHelper.cs
- MSG.cs
- VectorValueSerializer.cs
- FormattedText.cs
- Bidi.cs
- DataGridViewRowsRemovedEventArgs.cs
- ZipIOExtraFieldZip64Element.cs
- SqlTriggerContext.cs
- QilIterator.cs
- XmlBoundElement.cs
- ToolStripSeparatorRenderEventArgs.cs
- NativeCompoundFileAPIs.cs
- BrowserTree.cs
- HelpKeywordAttribute.cs
- CounterCreationDataCollection.cs
- Intellisense.cs
- OleDbRowUpdatedEvent.cs
- XmlText.cs
- Journal.cs
- HtmlUtf8RawTextWriter.cs
- SqlDependencyListener.cs
- RegexFCD.cs
- NetMsmqSecurityElement.cs
- ObjectListDesigner.cs
- RowBinding.cs
- CacheAxisQuery.cs
- XmlDictionary.cs
- DesignerCommandAdapter.cs
- HelloMessageCD1.cs
- PackageFilter.cs
- GuidelineSet.cs
- BitmapDecoder.cs
- AttachedPropertyMethodSelector.cs
- ThemeDirectoryCompiler.cs
- XsdDuration.cs
- PersonalizationAdministration.cs
- FormParameter.cs
- GradientStop.cs
- ProxyWebPartManager.cs
- DataGridTable.cs
- ModelMemberCollection.cs
- FixedSOMTable.cs
- SystemUdpStatistics.cs
- DropSource.cs
- ScrollBar.cs
- ColorKeyFrameCollection.cs
- SafePEFileHandle.cs
- FilterQueryOptionExpression.cs
- QilSortKey.cs
- DetailsViewInsertedEventArgs.cs
- IIS7WorkerRequest.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- FontFamilyConverter.cs
- HttpDebugHandler.cs
- _UriTypeConverter.cs
- ConfigurationProperty.cs
- QueryCacheEntry.cs
- CacheModeValueSerializer.cs
- HelpInfo.cs
- XmlSiteMapProvider.cs
- AsynchronousChannel.cs
- Timeline.cs
- CornerRadiusConverter.cs
- LiteralControl.cs
- VirtualDirectoryMappingCollection.cs
- ContentElement.cs
- WebScriptServiceHostFactory.cs
- CqlParserHelpers.cs
- ObjectSecurity.cs
- DynamicValidator.cs
- SafeCertificateStore.cs
- TabRenderer.cs
- PropertyStore.cs
- EventListener.cs
- Perspective.cs
- VirtualizedItemProviderWrapper.cs
- InternalConfigSettingsFactory.cs
- OracleNumber.cs
- CmsUtils.cs
- InternalMappingException.cs
- RelationshipSet.cs
- ReadWriteObjectLock.cs
- TemplateBindingExtensionConverter.cs
- Attributes.cs
- DataGridLinkButton.cs
- TogglePattern.cs