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
- ButtonChrome.cs
- UDPClient.cs
- FindCriteriaApril2005.cs
- WebPartAddingEventArgs.cs
- XmlDataLoader.cs
- HtmlControl.cs
- RegionIterator.cs
- SizeValueSerializer.cs
- XmlException.cs
- HelloOperationCD1AsyncResult.cs
- RecordConverter.cs
- _FtpDataStream.cs
- StatusBarItem.cs
- SqlParameterizer.cs
- FeatureSupport.cs
- SemanticKeyElement.cs
- Int64Storage.cs
- MenuItemBinding.cs
- DbUpdateCommandTree.cs
- TextServicesCompartment.cs
- ToolStrip.cs
- NGCPageContentSerializerAsync.cs
- AdornerDecorator.cs
- View.cs
- ErrorHandler.cs
- WindowsGraphicsWrapper.cs
- Figure.cs
- ProfessionalColorTable.cs
- LinkDescriptor.cs
- WorkflowMessageEventArgs.cs
- HtmlAnchor.cs
- TraceListener.cs
- CompModSwitches.cs
- BookmarkEventArgs.cs
- dataSvcMapFileLoader.cs
- FacetValues.cs
- Storyboard.cs
- EnterpriseServicesHelper.cs
- NetStream.cs
- OutputCacheProfileCollection.cs
- AssemblyResolver.cs
- WindowsGraphicsWrapper.cs
- UInt16Converter.cs
- AuthorizationPolicyTypeElement.cs
- AsymmetricSecurityBindingElement.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- Exceptions.cs
- PenCursorManager.cs
- SequentialUshortCollection.cs
- TableLayoutSettingsTypeConverter.cs
- SchemaInfo.cs
- LoadRetryAsyncResult.cs
- OperatorExpressions.cs
- TraceContext.cs
- HtmlPageAdapter.cs
- StructuredTypeEmitter.cs
- WaitForChangedResult.cs
- UntypedNullExpression.cs
- ObjectStorage.cs
- Int16Storage.cs
- XsltArgumentList.cs
- X509CertificateCollection.cs
- Thumb.cs
- ObjectSecurity.cs
- TextServicesCompartment.cs
- DocumentationServerProtocol.cs
- GridLengthConverter.cs
- BorderGapMaskConverter.cs
- WebPartExportVerb.cs
- PopupRoot.cs
- DocumentCollection.cs
- MediaScriptCommandRoutedEventArgs.cs
- CatalogZone.cs
- ItemContainerGenerator.cs
- HandledEventArgs.cs
- HasActivatableWorkflowEvent.cs
- RemotingException.cs
- MatrixAnimationUsingPath.cs
- FormsAuthenticationConfiguration.cs
- Validator.cs
- Token.cs
- ProtocolProfile.cs
- XmlStreamStore.cs
- MeasureItemEvent.cs
- XPathDocument.cs
- EmbossBitmapEffect.cs
- MemberRelationshipService.cs
- DataSourceListEditor.cs
- Point.cs
- TypeBuilder.cs
- FillErrorEventArgs.cs
- ToolStripSystemRenderer.cs
- DocumentXmlWriter.cs
- HandleRef.cs
- ServiceOperationParameter.cs
- CorrelationActionMessageFilter.cs
- ShadowGlyph.cs
- TagPrefixInfo.cs
- HeaderedItemsControl.cs
- SQLString.cs