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
- FontCollection.cs
- _ConnectionGroup.cs
- SqlMethodAttribute.cs
- X509AsymmetricSecurityKey.cs
- CompositeKey.cs
- ComplexTypeEmitter.cs
- XmlUnspecifiedAttribute.cs
- XmlSchemaAnnotation.cs
- MessagePartDescriptionCollection.cs
- PenThreadWorker.cs
- SafeBitVector32.cs
- BitmapEffect.cs
- GraphicsPathIterator.cs
- GlyphRunDrawing.cs
- DbDataSourceEnumerator.cs
- DoubleLinkList.cs
- FormViewActionList.cs
- BaseHashHelper.cs
- QilChoice.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- LongValidator.cs
- ScrollEvent.cs
- AlignmentYValidation.cs
- RealProxy.cs
- BindUriHelper.cs
- TreeIterators.cs
- AnchoredBlock.cs
- UserControlAutomationPeer.cs
- MultiByteCodec.cs
- SiblingIterators.cs
- ProcessModelInfo.cs
- EncryptedXml.cs
- PostBackOptions.cs
- ToolStripOverflowButton.cs
- DatePicker.cs
- SafeFileMappingHandle.cs
- SQLInt16.cs
- MailHeaderInfo.cs
- JsonReaderDelegator.cs
- SectionVisual.cs
- StorageAssociationSetMapping.cs
- securestring.cs
- VersionedStreamOwner.cs
- EmptyControlCollection.cs
- ScriptModule.cs
- ConstructorArgumentAttribute.cs
- ExpressionVisitor.cs
- Attribute.cs
- SelectionRangeConverter.cs
- AppSettingsExpressionBuilder.cs
- StyleXamlParser.cs
- FormsAuthenticationTicket.cs
- OutputCacheModule.cs
- ConnectionPoint.cs
- DSGeneratorProblem.cs
- Label.cs
- ProtocolsConfigurationEntry.cs
- TargetConverter.cs
- DataGridViewComboBoxColumn.cs
- SQLInt16Storage.cs
- QueryExpr.cs
- DataStreamFromComStream.cs
- ClientTargetSection.cs
- DesignTable.cs
- PointLightBase.cs
- XmlAtomicValue.cs
- Separator.cs
- UserMapPath.cs
- ScaleTransform.cs
- XmlSerializerNamespaces.cs
- SafeWaitHandle.cs
- WebPartChrome.cs
- ListViewUpdatedEventArgs.cs
- CodeParameterDeclarationExpressionCollection.cs
- HybridDictionary.cs
- PeerName.cs
- DataServiceRequestException.cs
- SymbolType.cs
- _DomainName.cs
- DSASignatureFormatter.cs
- CodeDOMProvider.cs
- HttpClientCertificate.cs
- sortedlist.cs
- FormClosedEvent.cs
- Regex.cs
- HScrollBar.cs
- SessionSwitchEventArgs.cs
- GlyphingCache.cs
- InputProcessorProfilesLoader.cs
- ListSortDescription.cs
- SecureConversationSecurityTokenParameters.cs
- HyperLinkColumn.cs
- UIElementIsland.cs
- ServiceDeploymentInfo.cs
- IResourceProvider.cs
- WindowsMenu.cs
- CodeAttributeArgumentCollection.cs
- Task.cs
- ApplicationInterop.cs
- DetailsViewUpdatedEventArgs.cs