Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / CustomBinding.cs / 1 / CustomBinding.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Channels { using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Configuration; using System.Globalization; using System.ServiceModel.Configuration; using System.Net.Security; using System.ServiceModel.Security; public class CustomBinding : Binding { BindingElementCollection bindingElements = new BindingElementCollection(); public CustomBinding() : base() { } public CustomBinding(string configurationName) { ApplyConfiguration(configurationName); } public CustomBinding(params BindingElement[] bindingElementsInTopDownChannelStackOrder) : base() { if (bindingElementsInTopDownChannelStackOrder == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElements"); } foreach (BindingElement element in bindingElementsInTopDownChannelStackOrder) { this.bindingElements.Add(element); } } public CustomBinding(string name, string ns, params BindingElement[] bindingElementsInTopDownChannelStackOrder) : base(name, ns) { if (bindingElementsInTopDownChannelStackOrder == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElements"); } foreach (BindingElement element in bindingElementsInTopDownChannelStackOrder) { this.bindingElements.Add(element); } } public CustomBinding(IEnumerablebindingElementsInTopDownChannelStackOrder) { if (bindingElementsInTopDownChannelStackOrder == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElements"); } foreach (BindingElement element in bindingElementsInTopDownChannelStackOrder) { this.bindingElements.Add(element); } } internal CustomBinding(BindingElementCollection bindingElements) : base() { if (bindingElements == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElements"); } for (int i = 0; i < bindingElements.Count; i++) { this.bindingElements.Add(bindingElements[i]); } } public CustomBinding(Binding binding) : this(binding, SafeCreateBindingElements(binding)) { } static BindingElementCollection SafeCreateBindingElements(Binding binding) { if (binding == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("binding"); } return binding.CreateBindingElements(); } internal CustomBinding(Binding binding, BindingElementCollection elements) { if (binding == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("binding"); } if (elements == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("elements"); } this.Name = binding.Name; this.Namespace = binding.Namespace; this.CloseTimeout = binding.CloseTimeout; this.OpenTimeout = binding.OpenTimeout; this.ReceiveTimeout = binding.ReceiveTimeout; this.SendTimeout = binding.SendTimeout; for (int i = 0; i < elements.Count; i++) { bindingElements.Add(elements[i]); } } public BindingElementCollection Elements { get { return bindingElements; } } public override BindingElementCollection CreateBindingElements() { return this.bindingElements.Clone(); } void ApplyConfiguration(string configurationName) { CustomBindingCollectionElement section = CustomBindingCollectionElement.GetBindingCollectionElement(); CustomBindingElement element = section.Bindings[configurationName]; if (element == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidBindingConfigurationName, configurationName, ConfigurationStrings.CustomBindingCollectionElementName))); } else { element.ApplyConfiguration(this); } } public override string Scheme { get { TransportBindingElement transport = bindingElements.Find (); if (transport == null) { return String.Empty; } return transport.Scheme; } } } } // 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
- DataServiceRequest.cs
- EventSourceCreationData.cs
- CodeParameterDeclarationExpressionCollection.cs
- EdmRelationshipRoleAttribute.cs
- DataGridViewColumnCollectionEditor.cs
- CommentAction.cs
- ControlBuilderAttribute.cs
- FileRegion.cs
- SHA256Managed.cs
- DataGridViewComponentPropertyGridSite.cs
- DataGridHeaderBorder.cs
- PropagatorResult.cs
- MenuScrollingVisibilityConverter.cs
- DocComment.cs
- PropertyKey.cs
- ParallelEnumerable.cs
- ProtocolsConfigurationHandler.cs
- ResXResourceWriter.cs
- GlyphRunDrawing.cs
- DataGridViewBand.cs
- OleDbRowUpdatingEvent.cs
- ValueChangedEventManager.cs
- XmlUtil.cs
- PageContentAsyncResult.cs
- SqlFormatter.cs
- AssociationProvider.cs
- Section.cs
- ListItemCollection.cs
- BinHexEncoding.cs
- IItemProperties.cs
- WebPartManager.cs
- ClientCultureInfo.cs
- OutputCacheProfile.cs
- FrameworkElement.cs
- WindowsStatic.cs
- XmlTypeMapping.cs
- PopupRoot.cs
- TextTabProperties.cs
- FilterableData.cs
- XmlSchemaParticle.cs
- CounterNameConverter.cs
- HandleRef.cs
- TextEffectCollection.cs
- PagerSettings.cs
- ImageClickEventArgs.cs
- InputBindingCollection.cs
- SqlDataReaderSmi.cs
- ListViewGroupConverter.cs
- ImmComposition.cs
- RequiredFieldValidator.cs
- WorkflowInstanceProxy.cs
- DependencyPropertyValueSerializer.cs
- Condition.cs
- MessagingActivityHelper.cs
- WhitespaceRule.cs
- EntitySqlQueryState.cs
- EasingKeyFrames.cs
- RewritingValidator.cs
- LogFlushAsyncResult.cs
- StorageModelBuildProvider.cs
- ListManagerBindingsCollection.cs
- BoundColumn.cs
- TypeEnumerableViewSchema.cs
- DemultiplexingClientMessageFormatter.cs
- DbDeleteCommandTree.cs
- PartitionResolver.cs
- ScaleTransform3D.cs
- PlatformNotSupportedException.cs
- DocumentApplicationJournalEntry.cs
- AssemblyInfo.cs
- SqlDataSourceEnumerator.cs
- ScrollBar.cs
- Int64Animation.cs
- ToolstripProfessionalRenderer.cs
- StyleSelector.cs
- PreservationFileWriter.cs
- ColumnPropertiesGroup.cs
- FontFamily.cs
- DllNotFoundException.cs
- Path.cs
- DbRetry.cs
- TableItemStyle.cs
- XmlSerializationWriter.cs
- CharUnicodeInfo.cs
- SoapIncludeAttribute.cs
- PagedDataSource.cs
- ServerValidateEventArgs.cs
- CompilerParameters.cs
- StringFunctions.cs
- HttpWebRequestElement.cs
- ConfigXmlAttribute.cs
- RenamedEventArgs.cs
- SQLStringStorage.cs
- SettingsPropertyCollection.cs
- CredentialCache.cs
- _IPv4Address.cs
- XmlWhitespace.cs
- DataKey.cs
- TextDecoration.cs
- PropertyGrid.cs