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
- DateTime.cs
- WCFBuildProvider.cs
- SpeechSynthesizer.cs
- RSAProtectedConfigurationProvider.cs
- DataList.cs
- As.cs
- ContextMenuService.cs
- ExpressionBuilderCollection.cs
- WebDisplayNameAttribute.cs
- Vector3DAnimationBase.cs
- UIInitializationException.cs
- Pair.cs
- BaseUriHelper.cs
- DataGridViewColumnTypeEditor.cs
- DataException.cs
- SocketCache.cs
- ErasingStroke.cs
- ChangePasswordAutoFormat.cs
- ActiveXContainer.cs
- ColorAnimation.cs
- HintTextMaxWidthConverter.cs
- InternalResources.cs
- IISMapPath.cs
- Calendar.cs
- EpmSourceTree.cs
- MeshGeometry3D.cs
- CheckBox.cs
- CodeVariableReferenceExpression.cs
- ContainerAction.cs
- ConfigurationLocation.cs
- OutputCacheSection.cs
- VisualStateManager.cs
- PartitionedDataSource.cs
- ResourceIDHelper.cs
- HttpApplication.cs
- DbConnectionInternal.cs
- XmlExtensionFunction.cs
- ResourcePermissionBaseEntry.cs
- CodeStatement.cs
- Memoizer.cs
- EntityDataSourceWrapper.cs
- BulletChrome.cs
- ThreadAttributes.cs
- GregorianCalendar.cs
- _Connection.cs
- RegexTypeEditor.cs
- UnsettableComboBox.cs
- RemoteWebConfigurationHostServer.cs
- Transform.cs
- SiteOfOriginContainer.cs
- SliderAutomationPeer.cs
- PageAsyncTask.cs
- FamilyMap.cs
- _TimerThread.cs
- MULTI_QI.cs
- XmlSchemaAnnotation.cs
- LinqDataSourceDeleteEventArgs.cs
- UshortList2.cs
- ToolStripSplitStackLayout.cs
- AsymmetricSignatureFormatter.cs
- Attribute.cs
- JavaScriptSerializer.cs
- TreeNodeMouseHoverEvent.cs
- shaperfactoryquerycachekey.cs
- ManagementScope.cs
- LineInfo.cs
- AsyncCompletedEventArgs.cs
- LocalizedNameDescriptionPair.cs
- NumericUpDownAccelerationCollection.cs
- WebPartZoneBase.cs
- ADMembershipUser.cs
- ComplexBindingPropertiesAttribute.cs
- PointAnimationUsingKeyFrames.cs
- Missing.cs
- TabControl.cs
- StreamSecurityUpgradeInitiatorBase.cs
- TextEndOfParagraph.cs
- InputProviderSite.cs
- MarshalByRefObject.cs
- XPathAncestorIterator.cs
- Hex.cs
- XmlCompatibilityReader.cs
- WebEventTraceProvider.cs
- MembershipSection.cs
- XmlStrings.cs
- JsonDataContract.cs
- Vector3DCollectionConverter.cs
- MessageQueueAccessControlEntry.cs
- ListViewInsertedEventArgs.cs
- XmlSchemaComplexType.cs
- XmlLinkedNode.cs
- AppDomainUnloadedException.cs
- HWStack.cs
- SafeRegistryHandle.cs
- DataGridItemEventArgs.cs
- TextureBrush.cs
- CodeMemberMethod.cs
- CounterSet.cs
- TimeSpanValidatorAttribute.cs
- LoginDesigner.cs