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
- ParserStreamGeometryContext.cs
- ExpressionBuilderCollection.cs
- TextWriterEngine.cs
- ContourSegment.cs
- Point.cs
- UrlAuthFailedErrorFormatter.cs
- DataTableClearEvent.cs
- SchemaNamespaceManager.cs
- TimerElapsedEvenArgs.cs
- URLString.cs
- Row.cs
- SafeHandle.cs
- DependencyPropertyHelper.cs
- MenuItem.cs
- IDictionary.cs
- DocumentViewerAutomationPeer.cs
- Site.cs
- ApplyImportsAction.cs
- ModifierKeysValueSerializer.cs
- XmlTypeMapping.cs
- coordinatorscratchpad.cs
- SelectorItemAutomationPeer.cs
- SiteMapDataSourceView.cs
- WinFormsComponentEditor.cs
- PublisherIdentityPermission.cs
- MaterializeFromAtom.cs
- NeutralResourcesLanguageAttribute.cs
- CodeDomSerializationProvider.cs
- ToolStripCollectionEditor.cs
- TypeToken.cs
- FontSourceCollection.cs
- COM2ColorConverter.cs
- ActivityCodeDomSerializationManager.cs
- EventLogTraceListener.cs
- SubtreeProcessor.cs
- XmlSchemaAttributeGroupRef.cs
- SqlEnums.cs
- ITextView.cs
- PrtTicket_Base.cs
- XsdDuration.cs
- AssertFilter.cs
- PasswordBoxAutomationPeer.cs
- SqlDataSourceCache.cs
- FileSystemInfo.cs
- CookieHandler.cs
- ParameterCollectionEditor.cs
- RowToParametersTransformer.cs
- SubMenuStyle.cs
- SqlGatherProducedAliases.cs
- VScrollProperties.cs
- TextWriterTraceListener.cs
- MetadataArtifactLoaderComposite.cs
- WrappedIUnknown.cs
- ClientCredentials.cs
- Container.cs
- Binding.cs
- MonthChangedEventArgs.cs
- CommandValueSerializer.cs
- HelpInfo.cs
- DriveNotFoundException.cs
- StyleCollection.cs
- MailMessageEventArgs.cs
- ISAPIApplicationHost.cs
- ProfileEventArgs.cs
- TextCompositionManager.cs
- ISAPIApplicationHost.cs
- RSAProtectedConfigurationProvider.cs
- AllMembershipCondition.cs
- CodeSubDirectory.cs
- OutputCacheModule.cs
- GeometryGroup.cs
- SingleTagSectionHandler.cs
- NetworkInformationException.cs
- WSHttpBinding.cs
- ContextMenuService.cs
- SqlClientFactory.cs
- StyleModeStack.cs
- LogSwitch.cs
- RestClientProxyHandler.cs
- UnsettableComboBox.cs
- BindingNavigator.cs
- CodeGenerator.cs
- HtmlWindow.cs
- GeneralTransformCollection.cs
- SuspendDesigner.cs
- COM2FontConverter.cs
- DateTimeConverter2.cs
- PersistenceContextEnlistment.cs
- BinaryObjectInfo.cs
- StorageComplexTypeMapping.cs
- EventEntry.cs
- PeerNameRegistration.cs
- TryExpression.cs
- XmlSerializerAssemblyAttribute.cs
- PropertyPushdownHelper.cs
- AsyncResult.cs
- SoapReflectionImporter.cs
- VersionedStream.cs
- EncoderFallback.cs
- ComPlusDiagnosticTraceSchemas.cs