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
- DocumentSequence.cs
- FormsAuthenticationUser.cs
- Part.cs
- ObfuscationAttribute.cs
- HuffModule.cs
- HttpRuntimeSection.cs
- NumberEdit.cs
- Line.cs
- UrlParameterReader.cs
- _TimerThread.cs
- BitmapEffect.cs
- WebPartChrome.cs
- securestring.cs
- SettingsContext.cs
- MemoryFailPoint.cs
- ButtonChrome.cs
- ExpressionBinding.cs
- Misc.cs
- SoapTypeAttribute.cs
- SchemaNotation.cs
- ProxyAttribute.cs
- ListBindingConverter.cs
- XmlWrappingWriter.cs
- RuntimeHandles.cs
- IdlingCommunicationPool.cs
- DataServiceBuildProvider.cs
- ImageInfo.cs
- ToolStripContentPanel.cs
- PhysicalFontFamily.cs
- WindowsListViewGroupSubsetLink.cs
- ToolStripDesignerUtils.cs
- UserMapPath.cs
- UserNameSecurityToken.cs
- ShaderRenderModeValidation.cs
- TypeConverter.cs
- CompilationSection.cs
- InputReferenceExpression.cs
- BigInt.cs
- HtmlElementCollection.cs
- GorillaCodec.cs
- PropertyKey.cs
- StorageMappingItemLoader.cs
- BasicKeyConstraint.cs
- RtfNavigator.cs
- SynchronizedInputPattern.cs
- XmlDataSourceNodeDescriptor.cs
- Drawing.cs
- SerializerProvider.cs
- HtmlSelect.cs
- TcpConnectionPoolSettings.cs
- HwndAppCommandInputProvider.cs
- StorageBasedPackageProperties.cs
- DataGridViewRow.cs
- NumberSubstitution.cs
- ProcessThreadDesigner.cs
- UserControl.cs
- XmlNodeList.cs
- AspProxy.cs
- ArgumentsParser.cs
- LineBreak.cs
- ScopeCollection.cs
- ApplicationHost.cs
- MarshalByValueComponent.cs
- TraceLog.cs
- Bold.cs
- GridViewAutomationPeer.cs
- XmlReader.cs
- DetailsView.cs
- ScriptResourceMapping.cs
- ApplicationActivator.cs
- FontNamesConverter.cs
- InstancePersistenceCommand.cs
- PageAdapter.cs
- AxisAngleRotation3D.cs
- ExpandCollapseProviderWrapper.cs
- ParameterModifier.cs
- PersonalizationProvider.cs
- ContentPropertyAttribute.cs
- BuildProviderCollection.cs
- ValidationRule.cs
- DSASignatureDeformatter.cs
- BinaryObjectInfo.cs
- MatcherBuilder.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- RandomNumberGenerator.cs
- ExecutedRoutedEventArgs.cs
- CacheHelper.cs
- UnsafeNativeMethods.cs
- VirtualDirectoryMapping.cs
- XPathNodePointer.cs
- SqlBuilder.cs
- PolicyValidationException.cs
- FrameSecurityDescriptor.cs
- RuleSetBrowserDialog.cs
- CommonGetThemePartSize.cs
- ZipFileInfo.cs
- CallTemplateAction.cs
- BitmapCodecInfo.cs
- DictionaryEntry.cs
- BamlLocalizableResourceKey.cs