Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / StandardBindingElement.cs / 1 / StandardBindingElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System.Collections; using System.ServiceModel.Channels; using System.ComponentModel; using System.Configuration; using System.ServiceModel; using System.Security; public abstract partial class StandardBindingElement : ConfigurationElement, IBindingConfigurationElement, IConfigurationContextProviderInternal { ////// Critical - stores information used in a security decision /// [SecurityCritical] EvaluationContextHelper contextHelper; protected StandardBindingElement() : this(null) { } protected StandardBindingElement(string name) { if (!String.IsNullOrEmpty(name)) { this.Name = name; } } protected abstract Type BindingElementType { get; } [ConfigurationProperty(ConfigurationStrings.Name, Options = ConfigurationPropertyOptions.IsKey | ConfigurationPropertyOptions.IsRequired)] [StringValidator(MinLength = 1)] public string Name { get { return (string)base[ConfigurationStrings.Name]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.Name] = value; } } [ConfigurationProperty(ConfigurationStrings.CloseTimeout, DefaultValue=ServiceDefaults.CloseTimeoutString)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)] public TimeSpan CloseTimeout { get { return (TimeSpan)base[ConfigurationStrings.CloseTimeout]; } set { base[ConfigurationStrings.CloseTimeout] = value; } } [ConfigurationProperty(ConfigurationStrings.OpenTimeout, DefaultValue=ServiceDefaults.OpenTimeoutString)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)] public TimeSpan OpenTimeout { get { return (TimeSpan)base[ConfigurationStrings.OpenTimeout]; } set { base[ConfigurationStrings.OpenTimeout] = value; } } [ConfigurationProperty(ConfigurationStrings.ReceiveTimeout, DefaultValue=ServiceDefaults.ReceiveTimeoutString)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)] public TimeSpan ReceiveTimeout { get { return (TimeSpan)base[ConfigurationStrings.ReceiveTimeout]; } set { base[ConfigurationStrings.ReceiveTimeout] = value; } } [ConfigurationProperty(ConfigurationStrings.SendTimeout, DefaultValue=ServiceDefaults.SendTimeoutString)] [TypeConverter(typeof(TimeSpanOrInfiniteConverter))] [ServiceModelTimeSpanValidator(MinValueString = ConfigurationStrings.TimeSpanZero)] public TimeSpan SendTimeout { get { return (TimeSpan)base[ConfigurationStrings.SendTimeout]; } set { base[ConfigurationStrings.SendTimeout] = value; } } public void ApplyConfiguration(Binding binding) { if (null == binding) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("binding"); } if (binding.GetType() != this.BindingElementType) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.ConfigInvalidTypeForBinding, this.BindingElementType.AssemblyQualifiedName, binding.GetType().AssemblyQualifiedName)); } // The properties binding.Name and this.Name are actually two different things: // - binding.Name corresponds to how the WSDL for this binding is surfaced, // it is used in conjunction with binding.Namespace // - this.Name is a token used as a key in the binding collection to identify // a specific bucket of configuration settings. // Thus, the Name property is skipped here. binding.CloseTimeout = this.CloseTimeout; binding.OpenTimeout = this.OpenTimeout; binding.ReceiveTimeout = this.ReceiveTimeout; binding.SendTimeout = this.SendTimeout; this.OnApplyConfiguration(binding); } protected virtual internal void InitializeFrom(Binding binding) { if (null == binding) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("binding"); } if (binding.GetType() != this.BindingElementType) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.ConfigInvalidTypeForBinding, this.BindingElementType.AssemblyQualifiedName, binding.GetType().AssemblyQualifiedName)); } // The properties binding.Name and this.Name are actually two different things: // - binding.Name corresponds to how the WSDL for this binding is surfaced, // it is used in conjunction with binding.Namespace // - this.Name is a token used as a key in the binding collection to identify // a specific bucket of configuration settings. // Thus, the Name property is skipped here. this.CloseTimeout = binding.CloseTimeout; this.OpenTimeout = binding.OpenTimeout; this.ReceiveTimeout = binding.ReceiveTimeout; this.SendTimeout = binding.SendTimeout; } protected abstract void OnApplyConfiguration(Binding binding); ////// Critical - accesses critical field contextHelper /// [SecurityCritical] protected override void Reset(ConfigurationElement parentElement) { this.contextHelper.OnReset(parentElement); base.Reset(parentElement); } ContextInformation IConfigurationContextProviderInternal.GetEvaluationContext() { return this.EvaluationContext; } ////// Critical -- accesses critical field contextHelper /// RequiresReview -- the return value will be used for a security decision -- see comment in interface definition /// [SecurityCritical] ContextInformation IConfigurationContextProviderInternal.GetOriginalEvaluationContext() { return this.contextHelper.GetOriginalContext(this); } } } // 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
- CodeDesigner.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- ValidationResult.cs
- DateTimeOffsetAdapter.cs
- IsolatedStorageFilePermission.cs
- parserscommon.cs
- Transform3DGroup.cs
- HtmlTernaryTree.cs
- AllMembershipCondition.cs
- Rectangle.cs
- FixedTextPointer.cs
- RowToParametersTransformer.cs
- ValidationRule.cs
- PageClientProxyGenerator.cs
- TableLayoutStyle.cs
- XmlSerializationGeneratedCode.cs
- xdrvalidator.cs
- DataSourceCache.cs
- PopOutPanel.cs
- FormatterConverter.cs
- Point4DValueSerializer.cs
- CommonXSendMessage.cs
- Int32EqualityComparer.cs
- ObjectViewEntityCollectionData.cs
- FormViewModeEventArgs.cs
- SqlInternalConnectionSmi.cs
- _HelperAsyncResults.cs
- HandlerBase.cs
- OdbcRowUpdatingEvent.cs
- TimeSpanMinutesConverter.cs
- newinstructionaction.cs
- XmlAttributes.cs
- ToolTipService.cs
- XmlName.cs
- XmlDomTextWriter.cs
- WebPartEditorApplyVerb.cs
- KeyedCollection.cs
- MemoryMappedView.cs
- Automation.cs
- PersonalizationDictionary.cs
- MbpInfo.cs
- ModifierKeysValueSerializer.cs
- RequestBringIntoViewEventArgs.cs
- ParseHttpDate.cs
- ManifestSignatureInformation.cs
- ElementMarkupObject.cs
- DefaultEventAttribute.cs
- QueryContinueDragEventArgs.cs
- PathStreamGeometryContext.cs
- TimeSpan.cs
- EvidenceTypeDescriptor.cs
- ShaderEffect.cs
- InheritanceContextChangedEventManager.cs
- SkipQueryOptionExpression.cs
- ContextActivityUtils.cs
- OracleBoolean.cs
- TextAction.cs
- ForeignConstraint.cs
- SamlSerializer.cs
- ChangeTracker.cs
- EntityContainerEmitter.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- OrderedDictionary.cs
- IPipelineRuntime.cs
- WorkflowInvoker.cs
- EmissiveMaterial.cs
- SettingsPropertyValue.cs
- Rotation3D.cs
- MaskedTextBoxDesignerActionList.cs
- ExtractCollection.cs
- TreeViewDesigner.cs
- CachedTypeface.cs
- X509SecurityTokenAuthenticator.cs
- TextParagraph.cs
- BaseTemplateBuildProvider.cs
- ServiceOperationWrapper.cs
- DesignerActionTextItem.cs
- DataGridViewCellFormattingEventArgs.cs
- ReliableMessagingHelpers.cs
- FullTrustAssembly.cs
- DataGridClipboardHelper.cs
- DbUpdateCommandTree.cs
- GeneralTransform.cs
- OleDbMetaDataFactory.cs
- OdbcCommand.cs
- SecurityCriticalDataForSet.cs
- CounterNameConverter.cs
- ActivityExecutor.cs
- UnescapedXmlDiagnosticData.cs
- PropertyExpression.cs
- WebServiceErrorEvent.cs
- SslStream.cs
- ParentQuery.cs
- IsolationInterop.cs
- MetafileHeader.cs
- DataService.cs
- InstalledFontCollection.cs
- FormatterServices.cs
- ExtendedPropertyDescriptor.cs
- DataGridViewCellFormattingEventArgs.cs