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
- Graph.cs
- IdnElement.cs
- MailMessageEventArgs.cs
- SettingsAttributeDictionary.cs
- ZoneButton.cs
- dsa.cs
- OdbcUtils.cs
- DependencyObjectPropertyDescriptor.cs
- BitmapEffectGroup.cs
- ConnectionsZoneAutoFormat.cs
- TagPrefixCollection.cs
- ApplicationActivator.cs
- BCLDebug.cs
- ContentPlaceHolder.cs
- InfoCardAsymmetricCrypto.cs
- IncrementalCompileAnalyzer.cs
- CollectionView.cs
- EditorZone.cs
- oledbmetadatacolumnnames.cs
- XamlTypeMapper.cs
- OperatingSystem.cs
- StringStorage.cs
- StdValidatorsAndConverters.cs
- bidPrivateBase.cs
- AutomationElement.cs
- BooleanFunctions.cs
- DelegatingTypeDescriptionProvider.cs
- NullableConverter.cs
- QueryParameter.cs
- DataGridViewEditingControlShowingEventArgs.cs
- dataprotectionpermission.cs
- DoubleLinkList.cs
- Serializer.cs
- ScriptingProfileServiceSection.cs
- RegexGroupCollection.cs
- InheritanceContextHelper.cs
- Object.cs
- FileDialog.cs
- TimersDescriptionAttribute.cs
- Annotation.cs
- System.Data_BID.cs
- DataMemberAttribute.cs
- BrowserDefinitionCollection.cs
- SignatureToken.cs
- SqlDelegatedTransaction.cs
- EventData.cs
- DocumentPageTextView.cs
- ServicePointManagerElement.cs
- ExcCanonicalXml.cs
- HtmlWindowCollection.cs
- ProfessionalColorTable.cs
- SecurityTokenSpecification.cs
- MailAddressCollection.cs
- XmlDataDocument.cs
- ErrorFormatterPage.cs
- UIEndRequest.cs
- List.cs
- XLinq.cs
- ServiceOperation.cs
- NetNamedPipeBindingCollectionElement.cs
- SafeHandles.cs
- SqlDataSourceSelectingEventArgs.cs
- RemotingHelper.cs
- AuthorizationRule.cs
- ChannelManager.cs
- Int32RectValueSerializer.cs
- AlphaSortedEnumConverter.cs
- TextServicesLoader.cs
- ExceptionValidationRule.cs
- Stackframe.cs
- UrlPath.cs
- LogStore.cs
- XmlSerializerFormatAttribute.cs
- SspiWrapper.cs
- HtmlDocument.cs
- PropertyPathConverter.cs
- BinaryObjectWriter.cs
- TransactionChannelListener.cs
- Repeater.cs
- SqlBooleanMismatchVisitor.cs
- ReachDocumentReferenceSerializerAsync.cs
- PngBitmapDecoder.cs
- Input.cs
- LogicalMethodInfo.cs
- TreeView.cs
- RunClient.cs
- HtmlTableCell.cs
- ApplicationDirectory.cs
- SingleObjectCollection.cs
- PrimaryKeyTypeConverter.cs
- ToolBar.cs
- RecognizedAudio.cs
- RequestNavigateEventArgs.cs
- CodeStatementCollection.cs
- GeneratedContractType.cs
- SpeechUI.cs
- ExternalException.cs
- MemoryPressure.cs
- CaretElement.cs
- UICuesEvent.cs