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
- ObjectDataSourceView.cs
- AVElementHelper.cs
- XamlPathDataSerializer.cs
- Transform.cs
- DbParameterCollection.cs
- GPRECTF.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- InvokePattern.cs
- MobileControlsSection.cs
- ToolboxItem.cs
- UniformGrid.cs
- WindowsComboBox.cs
- DataControlFieldsEditor.cs
- BaseCollection.cs
- InputMethod.cs
- SizeFConverter.cs
- DataFormat.cs
- WindowsGraphics.cs
- Label.cs
- PathFigureCollection.cs
- NamedObject.cs
- DynamicValidator.cs
- AncillaryOps.cs
- PrintDocument.cs
- SourceExpressionException.cs
- xmlglyphRunInfo.cs
- ValidatorAttribute.cs
- CustomErrorsSectionWrapper.cs
- ProtocolState.cs
- ClientSettingsStore.cs
- Table.cs
- input.cs
- IdnElement.cs
- CodeTypeReferenceCollection.cs
- CodeExpressionStatement.cs
- HtmlAnchor.cs
- StyleBamlTreeBuilder.cs
- AnyAllSearchOperator.cs
- Guid.cs
- OleDbException.cs
- AudioFormatConverter.cs
- CodeFieldReferenceExpression.cs
- NameValuePair.cs
- SoapIgnoreAttribute.cs
- LocalizableResourceBuilder.cs
- QueryResult.cs
- MetroSerializationManager.cs
- SqlAliasesReferenced.cs
- BamlLocalizableResourceKey.cs
- WindowsIPAddress.cs
- ProfileEventArgs.cs
- Internal.cs
- DataGridViewRowHeaderCell.cs
- SchemaTableColumn.cs
- FormatControl.cs
- ReferencedAssembly.cs
- SiteMembershipCondition.cs
- EventLogEntryCollection.cs
- BaseParser.cs
- TaskForm.cs
- PeerTransportElement.cs
- XD.cs
- LineServicesCallbacks.cs
- RecipientInfo.cs
- DispatcherSynchronizationContext.cs
- ClientScriptManager.cs
- DataGridViewImageColumn.cs
- PipeConnection.cs
- BmpBitmapDecoder.cs
- AbstractExpressions.cs
- FindCriteria11.cs
- ColorBlend.cs
- SQLMoney.cs
- CustomCategoryAttribute.cs
- Paragraph.cs
- TableCell.cs
- HttpRuntimeSection.cs
- PageAction.cs
- ExceptionUtility.cs
- TextTreeTextNode.cs
- ColorIndependentAnimationStorage.cs
- AttachmentCollection.cs
- HttpContextServiceHost.cs
- CodeCommentStatement.cs
- SqlIdentifier.cs
- ProcessProtocolHandler.cs
- FunctionDetailsReader.cs
- BitmapScalingModeValidation.cs
- GenerateHelper.cs
- WhitespaceRuleLookup.cs
- ConfigXmlWhitespace.cs
- FileStream.cs
- AutomationElementIdentifiers.cs
- ReferenceEqualityComparer.cs
- Signature.cs
- StaticResourceExtension.cs
- embossbitmapeffect.cs
- WhitespaceRuleReader.cs
- ContextMenuStripGroup.cs
- WpfPayload.cs