Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / UdpDiscoveryEndpoint.cs / 1305376 / UdpDiscoveryEndpoint.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery { using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Channels; [Fx.Tag.XamlVisible(false)] public class UdpDiscoveryEndpoint : DiscoveryEndpoint { [SuppressMessage(FxCop.Category.Security, FxCop.Rule.DoNotDeclareReadOnlyMutableReferenceTypes)] [SuppressMessage(FxCop.Category.Naming, "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Pv", Justification="IPv4 is valid.")] public static readonly Uri DefaultIPv4MulticastAddress = DiscoveryDefaults.Udp.IPv4MulticastAddress; [SuppressMessage(FxCop.Category.Security, FxCop.Rule.DoNotDeclareReadOnlyMutableReferenceTypes)] [SuppressMessage(FxCop.Category.Naming, "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Pv", Justification = "IPv6 is valid.")] public static readonly Uri DefaultIPv6MulticastAddress = DiscoveryDefaults.Udp.IPv6MulticastAddress; DiscoveryViaBehavior viaBehavior; UdpTransportSettings udpTransportSettings; public UdpDiscoveryEndpoint() : this(DefaultIPv4MulticastAddress) { } public UdpDiscoveryEndpoint(string multicastAddress) : this(new Uri(multicastAddress)) { } public UdpDiscoveryEndpoint(Uri multicastAddress) : this(DiscoveryVersion.DefaultDiscoveryVersion, multicastAddress) { } public UdpDiscoveryEndpoint(DiscoveryVersion discoveryVersion) : this(discoveryVersion, DefaultIPv4MulticastAddress) { } public UdpDiscoveryEndpoint(DiscoveryVersion discoveryVersion, string multicastAddress) : this(discoveryVersion, new Uri(multicastAddress)) { } public UdpDiscoveryEndpoint(DiscoveryVersion discoveryVersion, Uri multicastAddress) : base(discoveryVersion, ServiceDiscoveryMode.Adhoc) { if (multicastAddress == null) { throw FxTrace.Exception.ArgumentNull("multicastAddress"); } if (discoveryVersion == null) { throw FxTrace.Exception.ArgumentNull("discoveryVersion"); } Initialize(multicastAddress); } public Uri MulticastAddress { get { return this.viaBehavior.Via; } set { if (value == null) { throw FxTrace.Exception.ArgumentNull("value"); } this.viaBehavior.Via = value; base.ListenUri = value; } } public UdpTransportSettings TransportSettings { get { return this.udpTransportSettings; } } void Initialize(Uri multicastAddress) { this.viaBehavior = new DiscoveryViaBehavior(multicastAddress); base.ListenUri = multicastAddress; TextMessageEncodingBindingElement textBE = new TextMessageEncodingBindingElement(); textBE.MessageVersion = base.DiscoveryVersion.Implementation.MessageVersion; UdpTransportBindingElement udpBE = DiscoveryDefaults.Udp.CreateUdpTransportBindingElement(); this.udpTransportSettings = new UdpTransportSettings(udpBE); CustomBinding binding = new CustomBinding(); binding.Elements.Add(textBE); binding.Elements.Add(udpBE); base.MaxResponseDelay = DiscoveryDefaults.Udp.AppMaxDelay; base.Address = new EndpointAddress(base.DiscoveryVersion.Implementation.DiscoveryAddress); base.Binding = binding; base.Behaviors.Add(this.viaBehavior); base.Behaviors.Add(new UdpReplyToBehavior(udpBE.Scheme)); base.Behaviors.Add(new UdpContractFilterBehavior()); } } } // 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
- httpserverutility.cs
- SapiRecognizer.cs
- OpenFileDialog.cs
- StoreItemCollection.Loader.cs
- RMEnrollmentPage1.cs
- recordstate.cs
- wgx_exports.cs
- TextBoxDesigner.cs
- ClientConfigPaths.cs
- GenericPrincipal.cs
- ExpandSegment.cs
- SchemaNamespaceManager.cs
- DesignTimeSiteMapProvider.cs
- DNS.cs
- IdentifierCollection.cs
- TextBox.cs
- TextAdaptor.cs
- HebrewCalendar.cs
- SystemIPAddressInformation.cs
- NativeCompoundFileAPIs.cs
- TreeViewImageIndexConverter.cs
- TableItemStyle.cs
- Evidence.cs
- httpapplicationstate.cs
- FixedTextBuilder.cs
- PeerCredential.cs
- GeometryHitTestResult.cs
- ColorAnimationBase.cs
- DigitShape.cs
- DiscreteKeyFrames.cs
- PrintingPermission.cs
- ErrorWrapper.cs
- DecimalAnimation.cs
- HtmlInputImage.cs
- TimeoutValidationAttribute.cs
- MsmqAppDomainProtocolHandler.cs
- ServiceModelActivationSectionGroup.cs
- TableFieldsEditor.cs
- TextFindEngine.cs
- Brush.cs
- VisualBrush.cs
- CallContext.cs
- BoundPropertyEntry.cs
- HandlerElementCollection.cs
- NativeMethods.cs
- HostExecutionContextManager.cs
- HttpHandlerActionCollection.cs
- GACMembershipCondition.cs
- GenericArgumentsUpdater.cs
- EntityWrapper.cs
- XPathQueryGenerator.cs
- WriteFileContext.cs
- EditorServiceContext.cs
- parserscommon.cs
- TableRowGroupCollection.cs
- DbParameterHelper.cs
- EnumBuilder.cs
- MonthChangedEventArgs.cs
- AssemblyBuilder.cs
- TextEffect.cs
- ProcessProtocolHandler.cs
- MessageHeaderException.cs
- SpoolingTaskBase.cs
- AdjustableArrowCap.cs
- SafePointer.cs
- basenumberconverter.cs
- DataSourceBooleanViewSchemaConverter.cs
- SystemTcpConnection.cs
- COM2PropertyDescriptor.cs
- SectionXmlInfo.cs
- PassportAuthentication.cs
- XmlSchemaValidator.cs
- SystemFonts.cs
- TypeInformation.cs
- ResourceIDHelper.cs
- VirtualizingStackPanel.cs
- RepeaterItemEventArgs.cs
- RemotingSurrogateSelector.cs
- BamlStream.cs
- IApplicationTrustManager.cs
- Renderer.cs
- FunctionGenerator.cs
- ViewStateException.cs
- RecipientInfo.cs
- SimplePropertyEntry.cs
- ImplicitInputBrush.cs
- AuthStoreRoleProvider.cs
- SerialReceived.cs
- DataBinding.cs
- InvokePattern.cs
- PathParser.cs
- PersianCalendar.cs
- _FtpControlStream.cs
- ComPlusContractBehavior.cs
- StyleCollection.cs
- SpanIndex.cs
- FixedSOMContainer.cs
- ExceptionRoutedEventArgs.cs
- DispatcherSynchronizationContext.cs
- DocumentScope.cs