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
- SHA384Cng.cs
- MenuItem.cs
- HtmlForm.cs
- ServiceThrottlingElement.cs
- InsufficientMemoryException.cs
- CompositeScriptReference.cs
- SQLMoney.cs
- Crypto.cs
- RuntimeResourceSet.cs
- OutArgument.cs
- StatusBarDesigner.cs
- MultipartIdentifier.cs
- ToolStripMenuItem.cs
- DataObject.cs
- Timeline.cs
- DataGridViewMethods.cs
- configsystem.cs
- newinstructionaction.cs
- PageThemeCodeDomTreeGenerator.cs
- TriState.cs
- EditorPartChrome.cs
- XappLauncher.cs
- CachedPathData.cs
- Rectangle.cs
- PersistenceTypeAttribute.cs
- ExpressionBuilderCollection.cs
- HtmlShimManager.cs
- LoginView.cs
- FormViewUpdateEventArgs.cs
- WS2007FederationHttpBindingCollectionElement.cs
- HttpTransportSecurityElement.cs
- HideDisabledControlAdapter.cs
- WebPartsPersonalizationAuthorization.cs
- PointAnimationUsingPath.cs
- XmlSerializableReader.cs
- AttributeEmitter.cs
- CompiledRegexRunner.cs
- GlobalizationAssembly.cs
- TreeNodeCollectionEditor.cs
- FlowLayoutPanel.cs
- PageBuildProvider.cs
- XamlFilter.cs
- ApplicationSecurityManager.cs
- Odbc32.cs
- X509Certificate2Collection.cs
- HttpCapabilitiesEvaluator.cs
- BinaryObjectReader.cs
- MultiBindingExpression.cs
- DocumentPaginator.cs
- SQLBinaryStorage.cs
- ScrollBarAutomationPeer.cs
- FixedSOMTextRun.cs
- SQLInt32Storage.cs
- ModifiableIteratorCollection.cs
- WindowsPen.cs
- PairComparer.cs
- VariableQuery.cs
- BaseTreeIterator.cs
- TemplateControl.cs
- AssemblyCollection.cs
- DragStartedEventArgs.cs
- SqlDataSourceCommandEventArgs.cs
- DashStyle.cs
- AnnotationComponentChooser.cs
- DataGridCellsPresenter.cs
- OleDbEnumerator.cs
- ToolStripGrip.cs
- DistinctQueryOperator.cs
- Assembly.cs
- BypassElementCollection.cs
- ClientUIRequest.cs
- RegisteredArrayDeclaration.cs
- XsltQilFactory.cs
- WhitespaceRuleReader.cs
- DictionarySectionHandler.cs
- ListQueryResults.cs
- Label.cs
- LoadedOrUnloadedOperation.cs
- XsdDateTime.cs
- WebPartCloseVerb.cs
- UnionQueryOperator.cs
- RelatedPropertyManager.cs
- MetadataCollection.cs
- ExpandCollapsePattern.cs
- Itemizer.cs
- FontWeights.cs
- Thickness.cs
- AppSettingsExpressionBuilder.cs
- DataShape.cs
- TreeWalkHelper.cs
- SwitchLevelAttribute.cs
- StreamSecurityUpgradeInitiatorBase.cs
- AddInAdapter.cs
- NotCondition.cs
- SendActivityValidator.cs
- HttpCachePolicy.cs
- CryptoStream.cs
- RecordManager.cs
- SplashScreen.cs
- EventItfInfo.cs