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
- FrameAutomationPeer.cs
- GridPattern.cs
- ProcessModuleCollection.cs
- DbConnectionHelper.cs
- TriggerBase.cs
- AtlasWeb.Designer.cs
- X509CertificateCollection.cs
- SqlCommandBuilder.cs
- ResourceProviderFactory.cs
- Stack.cs
- RestHandler.cs
- RectangleGeometry.cs
- SchemaTypeEmitter.cs
- BindableTemplateBuilder.cs
- HttpFileCollection.cs
- CustomAttributeSerializer.cs
- SBCSCodePageEncoding.cs
- AmbiguousMatchException.cs
- Delegate.cs
- validationstate.cs
- log.cs
- DiagnosticsConfigurationHandler.cs
- SqlRecordBuffer.cs
- IPHostEntry.cs
- PerformanceCounterCategory.cs
- SrgsDocument.cs
- DataKey.cs
- DataControlButton.cs
- ZipPackage.cs
- GridSplitterAutomationPeer.cs
- BuildResultCache.cs
- RepeaterItem.cs
- SmiContext.cs
- ExeContext.cs
- ApplicationSettingsBase.cs
- ElapsedEventArgs.cs
- SrgsElementFactory.cs
- MatrixTransform3D.cs
- Permission.cs
- LogStore.cs
- SqlUtil.cs
- DbParameterCollectionHelper.cs
- CrossAppDomainChannel.cs
- CmsInterop.cs
- SymbolPair.cs
- ContractCodeDomInfo.cs
- FormsAuthenticationConfiguration.cs
- LinearGradientBrush.cs
- TextFormatterHost.cs
- CssStyleCollection.cs
- TreeView.cs
- Events.cs
- CompletedAsyncResult.cs
- RoutedEvent.cs
- TemplateControlParser.cs
- Decorator.cs
- FontWeight.cs
- XMLSchema.cs
- WebPartPersonalization.cs
- ActivationArguments.cs
- BufferedStream.cs
- SQLGuid.cs
- NumericUpDownAcceleration.cs
- ObjectSet.cs
- XD.cs
- PolicyReader.cs
- DataSourceProvider.cs
- StrongNameMembershipCondition.cs
- PackWebRequest.cs
- HttpModuleCollection.cs
- _TimerThread.cs
- BoundColumn.cs
- Viewport3DAutomationPeer.cs
- DataGrid.cs
- UpdateManifestForBrowserApplication.cs
- RawStylusInputCustomDataList.cs
- BoundsDrawingContextWalker.cs
- SByteStorage.cs
- WindowsAuthenticationEventArgs.cs
- ContainerSelectorBehavior.cs
- BufferedGraphicsContext.cs
- AudioFormatConverter.cs
- TextOnlyOutput.cs
- UIElementAutomationPeer.cs
- SqlCacheDependencyDatabase.cs
- ValidatorCompatibilityHelper.cs
- NameTable.cs
- WorkflowItemPresenter.cs
- BamlWriter.cs
- XsltArgumentList.cs
- Point.cs
- SelectedPathEditor.cs
- CodeCastExpression.cs
- NativeMethods.cs
- WpfWebRequestHelper.cs
- StringUtil.cs
- StringKeyFrameCollection.cs
- SR.cs
- MergablePropertyAttribute.cs
- ProfileSettingsCollection.cs