Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / Configuration / UdpDiscoveryEndpointElement.cs / 1305376 / UdpDiscoveryEndpointElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Discovery.Configuration { using System; using System.ComponentModel; using System.Configuration; using System.Diagnostics.CodeAnalysis; using System.Runtime; using System.ServiceModel.Configuration; using System.ServiceModel.Description; public class UdpDiscoveryEndpointElement : DiscoveryEndpointElement { ConfigurationPropertyCollection properties; public UdpDiscoveryEndpointElement() : base() { } [ConfigurationProperty(ConfigurationStrings.MaxResponseDelay, DefaultValue = DiscoveryDefaults.Udp.AppMaxDelayString)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)] public new TimeSpan MaxResponseDelay { get { return base.MaxResponseDelay; } set { base.MaxResponseDelay = value; } } [ConfigurationProperty(ConfigurationStrings.DiscoveryMode, DefaultValue = ServiceDiscoveryMode.Adhoc)] [SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationValidatorAttributeRule)] public new ServiceDiscoveryMode DiscoveryMode { get { return base.DiscoveryMode; } set { base.DiscoveryMode = value; } } [ConfigurationProperty(ConfigurationStrings.MulticastAddress, DefaultValue = ProtocolStrings.Udp.MulticastIPv4Address)] [SuppressMessage(FxCop.Category.Configuration, FxCop.Rule.ConfigurationValidatorAttributeRule)] public Uri MulticastAddress { get { return (Uri)base[ConfigurationStrings.MulticastAddress]; } set { if (value == null) { throw FxTrace.Exception.ArgumentNull("value"); } base[ConfigurationStrings.MulticastAddress] = value; } } [ConfigurationProperty(ConfigurationStrings.TransportSettings)] public UdpTransportSettingsElement TransportSettings { get { return (UdpTransportSettingsElement)base[ConfigurationStrings.TransportSettings]; } } protected internal override Type EndpointType { get { return typeof(UdpDiscoveryEndpoint); } } protected override ConfigurationPropertyCollection Properties { get { if (this.properties == null) { ConfigurationPropertyCollection properties = base.Properties; properties.Remove(ConfigurationStrings.DiscoveryMode); properties.Remove(ConfigurationStrings.MaxResponseDelay); properties.Add( new ConfigurationProperty( ConfigurationStrings.MaxResponseDelay, typeof(TimeSpan), DiscoveryDefaults.Udp.AppMaxDelay, new TimeSpanOrInfiniteConverter(), new TimeSpanOrInfiniteValidator(TimeSpan.Zero, TimeSpan.MaxValue), ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.DiscoveryMode, typeof(ServiceDiscoveryMode), ServiceDiscoveryMode.Adhoc, null, null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.MulticastAddress, typeof(Uri), UdpDiscoveryEndpoint.DefaultIPv4MulticastAddress, null, null, ConfigurationPropertyOptions.None)); properties.Add( new ConfigurationProperty( ConfigurationStrings.TransportSettings, typeof(UdpTransportSettingsElement), null, null, null, ConfigurationPropertyOptions.None)); this.properties = properties; } return this.properties; } } protected internal override ServiceEndpoint CreateServiceEndpoint(ContractDescription contractDescription) { return new UdpDiscoveryEndpoint(this.DiscoveryVersion, this.MulticastAddress); } protected internal override void InitializeFrom(ServiceEndpoint endpoint) { base.InitializeFrom(endpoint); UdpDiscoveryEndpoint source = (UdpDiscoveryEndpoint)endpoint; this.MaxResponseDelay = source.MaxResponseDelay; this.DiscoveryMode = source.DiscoveryMode; this.MulticastAddress = source.MulticastAddress; this.TransportSettings.InitializeFrom(source.TransportSettings); } protected override void OnInitializeAndValidate(ChannelEndpointElement channelEndpointElement) { base.OnInitializeAndValidate(channelEndpointElement); ConfigurationUtility.InitializeAndValidateUdpChannelEndpointElement(channelEndpointElement); } protected override void OnInitializeAndValidate(ServiceEndpointElement serviceEndpointElement) { base.OnInitializeAndValidate(serviceEndpointElement); ConfigurationUtility.InitializeAndValidateUdpServiceEndpointElement(serviceEndpointElement); } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ServiceEndpointElement serviceEndpointElement) { base.OnApplyConfiguration(endpoint, serviceEndpointElement); ApplyConfiguration(endpoint); } protected override void OnApplyConfiguration(ServiceEndpoint endpoint, ChannelEndpointElement serviceEndpointElement) { base.OnApplyConfiguration(endpoint, serviceEndpointElement); ApplyConfiguration(endpoint); } void ApplyConfiguration(ServiceEndpoint endpoint) { UdpDiscoveryEndpoint udpDiscoveryEndpoint = (UdpDiscoveryEndpoint)endpoint; udpDiscoveryEndpoint.MulticastAddress = this.MulticastAddress; this.TransportSettings.ApplyConfiguration(udpDiscoveryEndpoint.TransportSettings); } } } // 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
- PageSetupDialog.cs
- HttpCachePolicy.cs
- InputElement.cs
- ZipIOCentralDirectoryBlock.cs
- Rect3DConverter.cs
- FixUp.cs
- PopOutPanel.cs
- GPPOINTF.cs
- DBPropSet.cs
- QuaternionValueSerializer.cs
- DataGridViewAccessibleObject.cs
- Environment.cs
- StylusCollection.cs
- mediapermission.cs
- RectangleF.cs
- XmlQualifiedName.cs
- DataBindingExpressionBuilder.cs
- ControlValuePropertyAttribute.cs
- InfoCardMasterKey.cs
- TreeNodeBindingDepthConverter.cs
- IntranetCredentialPolicy.cs
- InfoCardTraceRecord.cs
- SapiRecoInterop.cs
- ExpressionBuilderContext.cs
- ACE.cs
- TreeWalker.cs
- SqlCommandBuilder.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- AvTrace.cs
- WebPartConnectionsDisconnectVerb.cs
- PropertyChangedEventArgs.cs
- XmlDataProvider.cs
- AssemblyAssociatedContentFileAttribute.cs
- SessionStateItemCollection.cs
- XmlResolver.cs
- LowerCaseStringConverter.cs
- RenderTargetBitmap.cs
- TextureBrush.cs
- SecurityKeyType.cs
- SiteMapDataSource.cs
- BaseInfoTable.cs
- TextBlockAutomationPeer.cs
- FontStyle.cs
- ClientConfigurationSystem.cs
- ParserStreamGeometryContext.cs
- SetState.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- CreateUserErrorEventArgs.cs
- GridViewAutomationPeer.cs
- DataTable.cs
- PeerApplicationLaunchInfo.cs
- hresults.cs
- PaperSource.cs
- DataIdProcessor.cs
- EventKeyword.cs
- SelectionItemPattern.cs
- Journaling.cs
- EndpointAddress10.cs
- GetReadStreamResult.cs
- RadioButton.cs
- LinqDataSourceStatusEventArgs.cs
- MapPathBasedVirtualPathProvider.cs
- TaiwanCalendar.cs
- DelegateOutArgument.cs
- TracedNativeMethods.cs
- TimeManager.cs
- HebrewNumber.cs
- SizeChangedEventArgs.cs
- ISFClipboardData.cs
- IUnknownConstantAttribute.cs
- KeyBinding.cs
- DeflateStream.cs
- TripleDESCryptoServiceProvider.cs
- ContractMapping.cs
- VectorCollection.cs
- DataColumnPropertyDescriptor.cs
- FormatException.cs
- RSAOAEPKeyExchangeDeformatter.cs
- CommandValueSerializer.cs
- TextTreeUndo.cs
- DataGridViewBindingCompleteEventArgs.cs
- DataGridColumn.cs
- Environment.cs
- SafeFileMappingHandle.cs
- SafeWaitHandle.cs
- CorrelationManager.cs
- DesignTableCollection.cs
- SchemaImporterExtension.cs
- CodeTryCatchFinallyStatement.cs
- DrawingContextDrawingContextWalker.cs
- FontResourceCache.cs
- NavigationPropertySingletonExpression.cs
- WsiProfilesElement.cs
- TypedReference.cs
- HttpProtocolImporter.cs
- EventLogPermission.cs
- InstallerTypeAttribute.cs
- MultipartContentParser.cs
- ServiceNameCollection.cs
- TrackingValidationObjectDictionary.cs