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
- ServiceModelConfigurationSection.cs
- BufferModesCollection.cs
- InstanceNormalEvent.cs
- ErrorBehavior.cs
- ProgressChangedEventArgs.cs
- Process.cs
- StorageFunctionMapping.cs
- KeyGesture.cs
- AppDomainShutdownMonitor.cs
- SizeConverter.cs
- DataBinding.cs
- ManipulationVelocities.cs
- MergablePropertyAttribute.cs
- TypeBrowserDialog.cs
- HwndHost.cs
- JsonWriterDelegator.cs
- OperationPickerDialog.cs
- ClientTargetCollection.cs
- CompoundFileIOPermission.cs
- NamespaceQuery.cs
- WindowsListViewGroupSubsetLink.cs
- DataGridViewRowsRemovedEventArgs.cs
- CheckBoxFlatAdapter.cs
- MissingMemberException.cs
- DocumentPageHost.cs
- CqlParserHelpers.cs
- BitmapImage.cs
- SapiRecoContext.cs
- WebRequest.cs
- HttpRuntime.cs
- DocumentPageHost.cs
- RsaSecurityKey.cs
- UriTemplateDispatchFormatter.cs
- ChameleonKey.cs
- NonVisualControlAttribute.cs
- SimpleHandlerBuildProvider.cs
- SecUtil.cs
- TabletCollection.cs
- HtmlControlDesigner.cs
- MetaModel.cs
- XmlSchemaObjectTable.cs
- SqlXmlStorage.cs
- MetadataLocation.cs
- XmlAttributeProperties.cs
- SharedUtils.cs
- CommandTreeTypeHelper.cs
- ThicknessAnimationBase.cs
- SystemWebSectionGroup.cs
- ServiceActivationException.cs
- IItemContainerGenerator.cs
- ReadWriteSpinLock.cs
- ToolStripHighContrastRenderer.cs
- embossbitmapeffect.cs
- NumericPagerField.cs
- DesignerAdRotatorAdapter.cs
- ConnectorDragDropGlyph.cs
- PropertyTabChangedEvent.cs
- FileDialogCustomPlace.cs
- RowToParametersTransformer.cs
- ProxyHelper.cs
- NativeMethods.cs
- ReadOnlyMetadataCollection.cs
- ImplicitInputBrush.cs
- CheckBox.cs
- Base64Encoder.cs
- DataGridRelationshipRow.cs
- SharedUtils.cs
- AsyncWaitHandle.cs
- ErasingStroke.cs
- Hash.cs
- BitmapEffectGroup.cs
- TransactionManager.cs
- TableAdapterManagerHelper.cs
- ClientOperation.cs
- WebPartConnectionsEventArgs.cs
- Object.cs
- SqlStatistics.cs
- BamlWriter.cs
- ButtonFlatAdapter.cs
- ResourceDictionary.cs
- ConfigurationCollectionAttribute.cs
- X509CertificateValidationMode.cs
- DrawToolTipEventArgs.cs
- GridViewUpdateEventArgs.cs
- PathHelper.cs
- filewebresponse.cs
- PathTooLongException.cs
- WindowPattern.cs
- SerializationEventsCache.cs
- ResourceAssociationTypeEnd.cs
- RoleServiceManager.cs
- BindingExpressionUncommonField.cs
- SHA512.cs
- CaseStatement.cs
- SafeNativeMethods.cs
- TrustManagerPromptUI.cs
- EntityContainerAssociationSetEnd.cs
- List.cs
- TextProviderWrapper.cs
- ZipIOModeEnforcingStream.cs