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
- LogRestartAreaEnumerator.cs
- IgnoreFileBuildProvider.cs
- UserInitiatedNavigationPermission.cs
- Button.cs
- WpfSharedXamlSchemaContext.cs
- XPathScanner.cs
- UIElementParaClient.cs
- SBCSCodePageEncoding.cs
- QueryPageSettingsEventArgs.cs
- ObjectTypeMapping.cs
- BitmapEffectOutputConnector.cs
- InfoCardTraceRecord.cs
- SettingsProviderCollection.cs
- QueryResponse.cs
- DbQueryCommandTree.cs
- Viewport3DVisual.cs
- RoutedEventConverter.cs
- SR.Designer.cs
- ProviderMetadataCachedInformation.cs
- DataDocumentXPathNavigator.cs
- SQLChars.cs
- ReliabilityContractAttribute.cs
- XmlDownloadManager.cs
- TraceUtility.cs
- ExtensionQuery.cs
- BitmapEffectDrawing.cs
- OutputChannel.cs
- NullableBoolConverter.cs
- DataException.cs
- RepeaterItem.cs
- COAUTHINFO.cs
- ColumnMapCopier.cs
- SqlServices.cs
- UIElement3D.cs
- Queue.cs
- NamedElement.cs
- SignatureHelper.cs
- TypeInformation.cs
- RawStylusActions.cs
- PathNode.cs
- ProviderConnectionPoint.cs
- GifBitmapEncoder.cs
- PersonalizationProvider.cs
- ActiveXContainer.cs
- DefaultValueAttribute.cs
- Rect3DConverter.cs
- TypeInfo.cs
- SiteMembershipCondition.cs
- NaturalLanguageHyphenator.cs
- AttachInfo.cs
- ModifierKeysValueSerializer.cs
- CompressEmulationStream.cs
- SecurityIdentifierElementCollection.cs
- Fonts.cs
- PackageRelationshipSelector.cs
- Timeline.cs
- XmlChildEnumerator.cs
- TextStore.cs
- ConnectionManagementElement.cs
- RegexGroupCollection.cs
- SettingsBase.cs
- CuspData.cs
- EmptyQuery.cs
- Registry.cs
- MediaEntryAttribute.cs
- FontSourceCollection.cs
- ErrorWrapper.cs
- ApplicationGesture.cs
- GregorianCalendarHelper.cs
- input.cs
- Paragraph.cs
- PageParser.cs
- BaseProcessor.cs
- ButtonRenderer.cs
- WebRequestModuleElementCollection.cs
- SqlGenericUtil.cs
- AddInBase.cs
- DataGridViewSelectedColumnCollection.cs
- CreateUserWizardDesigner.cs
- CommandValueSerializer.cs
- SqlConnectionPoolProviderInfo.cs
- CategoryAttribute.cs
- GenericWebPart.cs
- WebConfigurationFileMap.cs
- ByteRangeDownloader.cs
- KeyboardEventArgs.cs
- ProviderUtil.cs
- EventLogPermission.cs
- ImportException.cs
- GridViewSortEventArgs.cs
- BinaryObjectInfo.cs
- NumberAction.cs
- Collection.cs
- LocalizableResourceBuilder.cs
- HtmlLink.cs
- SessionStateUtil.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- RSACryptoServiceProvider.cs
- DataGridHeaderBorder.cs
- WebBrowserDocumentCompletedEventHandler.cs