Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / PeerCustomResolverElement.cs / 1 / PeerCustomResolverElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Configuration; using System.ServiceModel.Description; using System.Globalization; using System.Net; using System.Net.Security; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.PeerResolvers; using System.ComponentModel; public sealed partial class PeerCustomResolverElement : ConfigurationElement { [ConfigurationProperty(ConfigurationStrings.Address, DefaultValue = null, Options = ConfigurationPropertyOptions.None)] public Uri Address { get {return (Uri) base[ConfigurationStrings.Address]; } set {base[ConfigurationStrings.Address] = value; } } [ConfigurationProperty(ConfigurationStrings.Headers)] public AddressHeaderCollectionElement Headers { get { return (AddressHeaderCollectionElement)base[ConfigurationStrings.Headers]; } } [ConfigurationProperty(ConfigurationStrings.Identity)] public IdentityElement Identity { get { return (IdentityElement)base[ConfigurationStrings.Identity]; } } [ConfigurationProperty(ConfigurationStrings.Binding, DefaultValue = "")] [StringValidator(MinLength = 0)] public string Binding { get { return (string)base[ConfigurationStrings.Binding]; } set { base[ConfigurationStrings.Binding] = value; } } [ConfigurationProperty(ConfigurationStrings.BindingConfiguration, DefaultValue = "")] [StringValidator(MinLength = 0)] public string BindingConfiguration { get { return (string)base[ConfigurationStrings.BindingConfiguration]; } set { base[ConfigurationStrings.BindingConfiguration] = value; } } [ConfigurationProperty(ConfigurationStrings.PeerResolverType, DefaultValue = "")] [StringValidator(MinLength = 0)] public string ResolverType { get { return (string)base[ConfigurationStrings.PeerResolverType]; } set { base[ConfigurationStrings.PeerResolverType] = value; } } internal void ApplyConfiguration(PeerCustomResolverSettings settings) { if (settings == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("settings"); } if (this.Address != null) { settings.Address = new EndpointAddress(this.Address, ConfigLoader.LoadIdentity(this.Identity), this.Headers.Headers); } settings.BindingSection = this.Binding; settings.BindingConfiguration = this.BindingConfiguration; if (!String.IsNullOrEmpty(this.Binding) && !String.IsNullOrEmpty(this.BindingConfiguration)) settings.Binding = ConfigLoader.LookupBinding(this.Binding, this.BindingConfiguration); if (!String.IsNullOrEmpty(this.ResolverType)) { Type myResolverType = Type.GetType(this.ResolverType, false); if (myResolverType != null) { settings.Resolver = Activator.CreateInstance(myResolverType) as PeerResolver; } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.PeerResolverInvalid, this.ResolverType))); } } } internal void InitializeFrom(PeerCustomResolverSettings settings) { if (settings == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("settings"); } if(settings.Address != null) { this.Address = settings.Address.Uri; this.Identity.InitializeFrom(settings.Address.Identity); } if(settings.Resolver != null) { this.ResolverType = settings.Resolver.GetType().AssemblyQualifiedName; } if(settings.Binding != null) { this.BindingConfiguration = PeerStrings.PeerCustomResolver+Guid.NewGuid().ToString(); string sectionName; BindingsSection.TryAdd(this.BindingConfiguration, settings.Binding, out sectionName); this.Binding = sectionName; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DynamicDataExtensions.cs
- FilterException.cs
- DelegateCompletionCallbackWrapper.cs
- _TLSstream.cs
- DropTarget.cs
- ExpressionVisitor.cs
- BasicKeyConstraint.cs
- IntSecurity.cs
- InputScopeConverter.cs
- OdbcConnection.cs
- PropertyMetadata.cs
- HostingPreferredMapPath.cs
- ValidationRuleCollection.cs
- CreateUserErrorEventArgs.cs
- precedingsibling.cs
- QueryCreatedEventArgs.cs
- FormatException.cs
- BindingCollection.cs
- TargetConverter.cs
- TablePattern.cs
- XmlILStorageConverter.cs
- ConfigurationConverterBase.cs
- ArgumentNullException.cs
- columnmapfactory.cs
- WinInetCache.cs
- DataGridLinkButton.cs
- AttributeProviderAttribute.cs
- ColorContext.cs
- XamlUtilities.cs
- ProgressiveCrcCalculatingStream.cs
- DesignerDataView.cs
- AuthenticationService.cs
- FontDifferentiator.cs
- ApplicationHost.cs
- PartitionerStatic.cs
- EdmTypeAttribute.cs
- HtmlListAdapter.cs
- returneventsaver.cs
- IPipelineRuntime.cs
- TemplateKey.cs
- DbXmlEnabledProviderManifest.cs
- TextFormatterContext.cs
- PointValueSerializer.cs
- TextContainer.cs
- TextHidden.cs
- HandleCollector.cs
- XPathParser.cs
- BrowserCapabilitiesCompiler.cs
- CounterSample.cs
- Preprocessor.cs
- EUCJPEncoding.cs
- StackBuilderSink.cs
- RegistrySecurity.cs
- Double.cs
- DataGridViewCellFormattingEventArgs.cs
- SID.cs
- Win32MouseDevice.cs
- IImplicitResourceProvider.cs
- PrintPreviewGraphics.cs
- DbConnectionHelper.cs
- RequestQueue.cs
- WebPartVerbsEventArgs.cs
- DateTimeAutomationPeer.cs
- JoinElimination.cs
- UnknownBitmapDecoder.cs
- DetailsViewPagerRow.cs
- Deserializer.cs
- StyleBamlTreeBuilder.cs
- Lease.cs
- securitycriticaldata.cs
- WorkflowViewStateService.cs
- Activator.cs
- ImageAutomationPeer.cs
- MatrixTransform3D.cs
- DataGridCellEditEndingEventArgs.cs
- DataSourceXmlClassAttribute.cs
- HandlerFactoryWrapper.cs
- ManagementClass.cs
- TypeDescriptionProviderAttribute.cs
- HttpListenerRequest.cs
- SafeProcessHandle.cs
- HttpModulesSection.cs
- ObjectTypeMapping.cs
- QuaternionAnimation.cs
- ClosureBinding.cs
- FederatedMessageSecurityOverHttpElement.cs
- CodeVariableDeclarationStatement.cs
- DbProviderServices.cs
- PrePrepareMethodAttribute.cs
- XmlComplianceUtil.cs
- SoapSchemaExporter.cs
- DesignSurfaceEvent.cs
- DependencyProperty.cs
- WrappingXamlSchemaContext.cs
- MonitorWrapper.cs
- CacheRequest.cs
- DynamicRendererThreadManager.cs
- ValidatorUtils.cs
- DataGridLinkButton.cs
- BitmapSource.cs