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
- Debug.cs
- TransformedBitmap.cs
- QilTargetType.cs
- XPathDocumentNavigator.cs
- InvalidWMPVersionException.cs
- SessionEndingEventArgs.cs
- ObjectDataProvider.cs
- FlagsAttribute.cs
- RouteValueDictionary.cs
- OleDbDataReader.cs
- ServiceInstanceProvider.cs
- DockPattern.cs
- SoapProtocolReflector.cs
- InfoCardBaseException.cs
- MsmqInputMessagePool.cs
- WebPartDisplayModeCollection.cs
- DataControlButton.cs
- ReachPageContentSerializer.cs
- LoginCancelEventArgs.cs
- KerberosSecurityTokenProvider.cs
- PathData.cs
- Completion.cs
- FlowDocumentPageViewerAutomationPeer.cs
- CrossSiteScriptingValidation.cs
- WebPartEditVerb.cs
- Parser.cs
- RangeContentEnumerator.cs
- SizeAnimationBase.cs
- EntityTypeEmitter.cs
- HtmlInputPassword.cs
- NativeActivityContext.cs
- WorkflowViewElement.cs
- TrackingMemoryStreamFactory.cs
- ImagingCache.cs
- ServiceControllerDesigner.cs
- RtfToXamlLexer.cs
- CapabilitiesAssignment.cs
- SqlDataSourceFilteringEventArgs.cs
- AddInActivator.cs
- EarlyBoundInfo.cs
- DelimitedListTraceListener.cs
- ObjectTypeMapping.cs
- Message.cs
- SimpleFieldTemplateUserControl.cs
- GZipStream.cs
- QueryOutputWriter.cs
- CodeTypeReference.cs
- PropertyDescriptorComparer.cs
- Translator.cs
- WebPartEditorOkVerb.cs
- JournalNavigationScope.cs
- SequentialOutput.cs
- SelectionPattern.cs
- PointConverter.cs
- FileDialogCustomPlacesCollection.cs
- ContentControl.cs
- ControlIdConverter.cs
- ConnectionsZone.cs
- BaseProcessor.cs
- Base64Stream.cs
- MissingFieldException.cs
- SqlDependencyUtils.cs
- SqlInfoMessageEvent.cs
- GeneralTransform3DCollection.cs
- XmlDataSource.cs
- NegotiateStream.cs
- WebColorConverter.cs
- DbProviderSpecificTypePropertyAttribute.cs
- OperatorExpressions.cs
- ExpressionLexer.cs
- DiscoveryMessageProperty.cs
- BaseCollection.cs
- CollectionAdapters.cs
- XsltSettings.cs
- _UriTypeConverter.cs
- ScriptReferenceBase.cs
- MessageAction.cs
- ExpandCollapseProviderWrapper.cs
- CoreChannel.cs
- XmlDataImplementation.cs
- HttpRequestWrapper.cs
- FatalException.cs
- DebuggerAttributes.cs
- RequestResizeEvent.cs
- DataGridViewHitTestInfo.cs
- HtmlElementEventArgs.cs
- ImageDrawing.cs
- SafeHandle.cs
- Exceptions.cs
- ListSourceHelper.cs
- AuthenticatingEventArgs.cs
- RadioButtonList.cs
- DoWorkEventArgs.cs
- TypeSource.cs
- PerformanceCountersElement.cs
- ContextMenuAutomationPeer.cs
- DataTemplateKey.cs
- PermissionSetEnumerator.cs
- SoapConverter.cs
- SecurityTokenValidationException.cs