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
- ObjectItemAttributeAssemblyLoader.cs
- AsymmetricSignatureDeformatter.cs
- WebPartMinimizeVerb.cs
- CapiSymmetricAlgorithm.cs
- SymbolPair.cs
- Security.cs
- UIElement3D.cs
- CompositeScriptReferenceEventArgs.cs
- BindingSource.cs
- SHA1Managed.cs
- CommittableTransaction.cs
- SinglePhaseEnlistment.cs
- WinInetCache.cs
- TypeUsageBuilder.cs
- EntityDataSourceChangedEventArgs.cs
- DeploymentSection.cs
- EventLogLink.cs
- autovalidator.cs
- SecurityTokenSpecification.cs
- StrongBox.cs
- JournalEntryStack.cs
- ObjectQueryProvider.cs
- ComEventsMethod.cs
- UIHelper.cs
- NavigationWindow.cs
- FixedElement.cs
- ServiceOperationParameter.cs
- ThaiBuddhistCalendar.cs
- TypeToken.cs
- SqlDataSourceStatusEventArgs.cs
- XmlConvert.cs
- RadioButtonBaseAdapter.cs
- ProfileInfo.cs
- ObjectParameter.cs
- DynamicQueryStringParameter.cs
- TextSelectionHelper.cs
- ValueType.cs
- EpmSourceTree.cs
- CorrelationManager.cs
- FixUp.cs
- FixedPage.cs
- StateMachineWorkflow.cs
- LayoutManager.cs
- PrimitiveSchema.cs
- Guid.cs
- PreservationFileWriter.cs
- PenLineJoinValidation.cs
- ComplexPropertyEntry.cs
- SweepDirectionValidation.cs
- activationcontext.cs
- AdornedElementPlaceholder.cs
- MarshalDirectiveException.cs
- PassportAuthenticationEventArgs.cs
- QuadraticBezierSegment.cs
- RequestNavigateEventArgs.cs
- milrender.cs
- basecomparevalidator.cs
- BackgroundFormatInfo.cs
- DataService.cs
- ObjectQueryExecutionPlan.cs
- AsymmetricSignatureFormatter.cs
- WebServiceTypeData.cs
- HttpModulesSection.cs
- InvalidateEvent.cs
- PointCollection.cs
- HtmlControlPersistable.cs
- basevalidator.cs
- ErrorFormatterPage.cs
- Section.cs
- CrossSiteScriptingValidation.cs
- MenuItem.cs
- HuffmanTree.cs
- ByteAnimation.cs
- LinqToSqlWrapper.cs
- StyleCollection.cs
- DefaultSerializationProviderAttribute.cs
- EpmSyndicationContentSerializer.cs
- ValidationRuleCollection.cs
- LayoutUtils.cs
- ScriptReferenceEventArgs.cs
- ProfileSettingsCollection.cs
- ExceptionHandler.cs
- DispatcherExceptionFilterEventArgs.cs
- CatalogZone.cs
- HttpContextBase.cs
- ComplexTypeEmitter.cs
- XdrBuilder.cs
- CompositionDesigner.cs
- FileSystemEventArgs.cs
- AdapterDictionary.cs
- ActivityStateRecord.cs
- ProjectionPath.cs
- Variant.cs
- COMException.cs
- PageContentCollection.cs
- TypeDescriptor.cs
- CodeTypeConstructor.cs
- RecognizedWordUnit.cs
- MessageRpc.cs
- AdjustableArrowCap.cs