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
- TypeLibConverter.cs
- JsonQNameDataContract.cs
- Camera.cs
- XPathSelfQuery.cs
- PackageRelationshipCollection.cs
- ArrayWithOffset.cs
- KeySplineConverter.cs
- SystemWebSectionGroup.cs
- XmlUrlEditor.cs
- SqlInternalConnection.cs
- sqlinternaltransaction.cs
- XmlProcessingInstruction.cs
- HyperLinkDesigner.cs
- Timer.cs
- TraceFilter.cs
- OciHandle.cs
- DriveNotFoundException.cs
- securitycriticaldataClass.cs
- HebrewCalendar.cs
- CallbackValidator.cs
- AuthorizationPolicyTypeElementCollection.cs
- State.cs
- MediaTimeline.cs
- AspCompat.cs
- DBProviderConfigurationHandler.cs
- XamlSerializerUtil.cs
- AnonymousIdentificationModule.cs
- RouteItem.cs
- ServiceProviders.cs
- UrlMappingsModule.cs
- SessionStateItemCollection.cs
- PopupRootAutomationPeer.cs
- ParseChildrenAsPropertiesAttribute.cs
- SoapIncludeAttribute.cs
- TimeSpanMinutesConverter.cs
- MachineKeySection.cs
- PointAnimationUsingPath.cs
- XmlCountingReader.cs
- UnmanagedHandle.cs
- ClientFormsIdentity.cs
- DataFieldCollectionEditor.cs
- SQLDecimal.cs
- ConfigXmlWhitespace.cs
- IndexedEnumerable.cs
- ParamArrayAttribute.cs
- Compiler.cs
- Permission.cs
- ApplicationGesture.cs
- XmlLanguage.cs
- ItemCheckEvent.cs
- ButtonPopupAdapter.cs
- SerializerDescriptor.cs
- GroupItemAutomationPeer.cs
- SignatureDescription.cs
- RuleSettings.cs
- Point3DAnimationBase.cs
- NegatedCellConstant.cs
- OrthographicCamera.cs
- XmlWrappingReader.cs
- MappingException.cs
- ClientBuildManagerCallback.cs
- TableTextElementCollectionInternal.cs
- Timer.cs
- CompressStream.cs
- CodeNamespaceImportCollection.cs
- BrowserCapabilitiesFactory.cs
- SoapEnumAttribute.cs
- CompositeFontParser.cs
- CollectionBuilder.cs
- AutoResetEvent.cs
- BindingFormattingDialog.cs
- WebOperationContext.cs
- PasswordBox.cs
- DataControlField.cs
- UnmanagedBitmapWrapper.cs
- XPathArrayIterator.cs
- ElementAtQueryOperator.cs
- GridViewCommandEventArgs.cs
- AccessControlList.cs
- AmbientLight.cs
- LinearKeyFrames.cs
- BindingWorker.cs
- FixUp.cs
- TextElementEditingBehaviorAttribute.cs
- ConfigsHelper.cs
- DataRow.cs
- SoapElementAttribute.cs
- shaper.cs
- Vertex.cs
- ValidatorAttribute.cs
- FileDialog_Vista.cs
- MetadataArtifactLoaderCompositeResource.cs
- DefaultConfirmation.cs
- EntityParameterCollection.cs
- ViewEventArgs.cs
- ListSurrogate.cs
- CodeSubDirectoriesCollection.cs
- XmlParserContext.cs
- Win32Exception.cs
- Context.cs