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
- TransformerInfoCollection.cs
- Int32Converter.cs
- DbConnectionStringCommon.cs
- HWStack.cs
- GridItemCollection.cs
- HtmlInputButton.cs
- ResourceSetExpression.cs
- WindowsPen.cs
- SettingsProperty.cs
- SchemaObjectWriter.cs
- XmlMembersMapping.cs
- HtmlInputHidden.cs
- MetadataReference.cs
- XmlChildNodes.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- AsymmetricSignatureFormatter.cs
- DetailsViewDeletedEventArgs.cs
- COM2ICategorizePropertiesHandler.cs
- TextEncodedRawTextWriter.cs
- DeploymentExceptionMapper.cs
- XmlBoundElement.cs
- _StreamFramer.cs
- CFGGrammar.cs
- SoapObjectReader.cs
- FontStyleConverter.cs
- ServiceDescriptionData.cs
- XmlSchemaSimpleType.cs
- WebBrowserNavigatedEventHandler.cs
- TrackingMemoryStreamFactory.cs
- WmlValidationSummaryAdapter.cs
- GraphicsState.cs
- FormsAuthenticationEventArgs.cs
- NavigationPropertyEmitter.cs
- DirectoryInfo.cs
- Char.cs
- SqlDataSourceCustomCommandEditor.cs
- LinkedResourceCollection.cs
- StateMachineSubscription.cs
- ResourcesChangeInfo.cs
- SqlDataSourceFilteringEventArgs.cs
- DiscoveryMessageSequence11.cs
- XPathDocumentIterator.cs
- CustomCategoryAttribute.cs
- BidirectionalDictionary.cs
- WebPartActionVerb.cs
- SystemWebSectionGroup.cs
- FigureParaClient.cs
- NativeRecognizer.cs
- EntityCodeGenerator.cs
- EntitySqlQueryCacheEntry.cs
- AuthenticationModulesSection.cs
- KnownBoxes.cs
- DataServiceQueryProvider.cs
- SHA1.cs
- RepeatBehaviorConverter.cs
- AspCompat.cs
- Page.cs
- RNGCryptoServiceProvider.cs
- HTMLTagNameToTypeMapper.cs
- MaterializeFromAtom.cs
- MergeFilterQuery.cs
- TabItem.cs
- InputReportEventArgs.cs
- XamlFigureLengthSerializer.cs
- TextLineBreak.cs
- Int32RectConverter.cs
- CustomErrorsSectionWrapper.cs
- CaseStatementSlot.cs
- InputScope.cs
- XmlWrappingReader.cs
- HttpResponseWrapper.cs
- SystemException.cs
- WebAdminConfigurationHelper.cs
- DateTimeFormatInfo.cs
- CheckPair.cs
- ElementAction.cs
- WebPartConnectionCollection.cs
- IOThreadTimer.cs
- FormViewModeEventArgs.cs
- Brush.cs
- MissingMethodException.cs
- SqlDataSourceSelectingEventArgs.cs
- SessionIDManager.cs
- Literal.cs
- BuildProviderCollection.cs
- LZCodec.cs
- SHA512.cs
- WindowExtensionMethods.cs
- OrderToken.cs
- Console.cs
- SettingsPropertyIsReadOnlyException.cs
- ContentValidator.cs
- EventMemberCodeDomSerializer.cs
- ContentElement.cs
- NativeObjectSecurity.cs
- ApplicationException.cs
- NativeMethods.cs
- WindowsComboBox.cs
- DesignTimeParseData.cs
- OrderingExpression.cs