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
- ProcessHostServerConfig.cs
- ThreadInterruptedException.cs
- MarkedHighlightComponent.cs
- HtmlElementCollection.cs
- BitmapEffectDrawingContextWalker.cs
- SweepDirectionValidation.cs
- CommandPlan.cs
- XhtmlBasicControlAdapter.cs
- Hex.cs
- Expression.cs
- MetadataImporter.cs
- EventListener.cs
- PageHandlerFactory.cs
- FacetDescriptionElement.cs
- ListMarkerSourceInfo.cs
- WindowsTooltip.cs
- ToolStripLabel.cs
- ExceptionHelpers.cs
- EdmPropertyAttribute.cs
- SubMenuStyleCollection.cs
- DataSourceSelectArguments.cs
- XmlQueryOutput.cs
- DBSqlParserColumnCollection.cs
- CollectionChangeEventArgs.cs
- XmlILOptimizerVisitor.cs
- ResizeGrip.cs
- ByteRangeDownloader.cs
- BufferModeSettings.cs
- DbParameterCollection.cs
- AccessControlEntry.cs
- followingquery.cs
- ApplicationSettingsBase.cs
- Pts.cs
- ListViewInsertionMark.cs
- WebConfigurationHost.cs
- TransformerTypeCollection.cs
- SerializationSectionGroup.cs
- ExpressionValueEditor.cs
- ControlIdConverter.cs
- autovalidator.cs
- TemplateControlParser.cs
- NameValueCollection.cs
- Mappings.cs
- StateRuntime.cs
- HtmlInputButton.cs
- ScrollData.cs
- SurrogateEncoder.cs
- ContourSegment.cs
- NonVisualControlAttribute.cs
- RuleInfoComparer.cs
- WindowPattern.cs
- CompModSwitches.cs
- TrailingSpaceComparer.cs
- RIPEMD160Managed.cs
- LocatorManager.cs
- NavigationService.cs
- BaseResourcesBuildProvider.cs
- Clause.cs
- WebEventTraceProvider.cs
- ZipIORawDataFileBlock.cs
- AnnouncementInnerClient11.cs
- DelayLoadType.cs
- TimeSpanSecondsConverter.cs
- Bitmap.cs
- DataStreams.cs
- TextServicesCompartmentEventSink.cs
- PersistenceTypeAttribute.cs
- TextPointer.cs
- FixedDocumentPaginator.cs
- NonValidatingSecurityTokenAuthenticator.cs
- UInt64.cs
- AxisAngleRotation3D.cs
- LinqDataSourceContextEventArgs.cs
- SoapHeaderException.cs
- X509WindowsSecurityToken.cs
- SecurityTokenSerializer.cs
- AncillaryOps.cs
- DataGridParentRows.cs
- Message.cs
- Table.cs
- TreeBuilder.cs
- CodePrimitiveExpression.cs
- CreateUserErrorEventArgs.cs
- CacheForPrimitiveTypes.cs
- ListMarkerLine.cs
- OdbcStatementHandle.cs
- Crypto.cs
- HtmlInputHidden.cs
- ListViewSelectEventArgs.cs
- ContentElement.cs
- NumericPagerField.cs
- ContentElement.cs
- MatrixAnimationUsingPath.cs
- ConfigurationSectionHelper.cs
- ApplicationDirectory.cs
- RangeBase.cs
- DataGridDetailsPresenter.cs
- SqlConnection.cs
- PcmConverter.cs
- DragStartedEventArgs.cs