Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / MsmqTransportBindingElement.cs / 1 / MsmqTransportBindingElement.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.ServiceModel.Activation; using System.Collections.Generic; using System.Net.Security; using System.Runtime.Serialization; using System.ServiceModel.Security; using System.Xml; public sealed class MsmqTransportBindingElement : MsmqBindingElementBase { int maxPoolSize = MsmqDefaults.MaxPoolSize; bool useActiveDirectory = MsmqDefaults.UseActiveDirectory; QueueTransferProtocol queueTransferProtocol = MsmqDefaults.QueueTransferProtocol; public MsmqTransportBindingElement() { } MsmqTransportBindingElement(MsmqTransportBindingElement elementToBeCloned) : base(elementToBeCloned) { this.useActiveDirectory = elementToBeCloned.useActiveDirectory; this.maxPoolSize = elementToBeCloned.maxPoolSize; this.queueTransferProtocol = elementToBeCloned.queueTransferProtocol; } internal override MsmqUri.IAddressTranslator AddressTranslator { get { switch (this.queueTransferProtocol) { case QueueTransferProtocol.Srmp: return MsmqUri.SrmpAddressTranslator; case QueueTransferProtocol.SrmpSecure: return MsmqUri.SrmpsAddressTranslator; default: return this.useActiveDirectory ? MsmqUri.ActiveDirectoryAddressTranslator : MsmqUri.NetMsmqAddressTranslator; } } } public int MaxPoolSize { get { return this.maxPoolSize; } set { if (value < 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new ArgumentOutOfRangeException("value", value, SR.GetString(SR.MsmqNonNegativeArgumentExpected))); } this.maxPoolSize = value; } } public QueueTransferProtocol QueueTransferProtocol { get { return this.queueTransferProtocol; } set { if (! QueueTransferProtocolHelper.IsDefined(value)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); this.queueTransferProtocol = value; } } public override string Scheme { get { return "net.msmq"; } } public bool UseActiveDirectory { get { return this.useActiveDirectory; } set { this.useActiveDirectory = value; } } internal override string WsdlTransportUri { get { return TransportPolicyConstants.MsmqTransportUri; } } public override BindingElement Clone() { return new MsmqTransportBindingElement(this); } public override bool CanBuildChannelFactory(BindingContext context) { return (typeof(TChannel) == typeof(IOutputChannel) || typeof(TChannel) == typeof(IOutputSessionChannel)); } public override bool CanBuildChannelListener (BindingContext context) { return (typeof(TChannel) == typeof(IInputChannel) || typeof(TChannel) == typeof(IInputSessionChannel)); } public override IChannelFactory BuildChannelFactory (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } if (typeof(TChannel) == typeof(IOutputChannel)) { MsmqChannelFactoryBase factory = new MsmqOutputChannelFactory(this, context); MsmqVerifier.VerifySender (factory); return (IChannelFactory )(object)factory; } else if (typeof(TChannel) == typeof(IOutputSessionChannel)) { MsmqChannelFactoryBase factory = new MsmqOutputSessionChannelFactory(this, context); MsmqVerifier.VerifySender (factory); return (IChannelFactory )(object)factory; } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("TChannel", SR.GetString(SR.ChannelTypeNotSupported, typeof(TChannel))); } } public override IChannelListener BuildChannelListener (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } TransportChannelListener msmqListener; MsmqTransportReceiveParameters receiveParameters = new MsmqTransportReceiveParameters(this, MsmqUri.NetMsmqAddressTranslator); if (typeof(TChannel) == typeof(IInputChannel)) { msmqListener = new MsmqInputChannelListener(this, context, receiveParameters); } else if (typeof(TChannel) == typeof(IInputSessionChannel)) { msmqListener = new MsmqInputSessionChannelListener(this, context, receiveParameters); } else { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("TChannel", SR.GetString(SR.ChannelTypeNotSupported, typeof(TChannel))); } VirtualPathExtension.ApplyHostedContext(msmqListener, context); MsmqVerifier.VerifyReceiver(receiveParameters, msmqListener.Uri); return (IChannelListener )(object)msmqListener; } } } // 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
- GridPattern.cs
- recordstate.cs
- DataSet.cs
- AsymmetricSignatureFormatter.cs
- Input.cs
- InitializerFacet.cs
- UIHelper.cs
- InternalSafeNativeMethods.cs
- StringAttributeCollection.cs
- TextAction.cs
- RSACryptoServiceProvider.cs
- BCLDebug.cs
- PersistencePipeline.cs
- AdjustableArrowCap.cs
- FileLevelControlBuilderAttribute.cs
- AnyReturnReader.cs
- ProgressBarHighlightConverter.cs
- EditorPartChrome.cs
- ChunkedMemoryStream.cs
- TextCompositionManager.cs
- ComponentEvent.cs
- TrackingParticipant.cs
- HashHelper.cs
- RegistrationProxy.cs
- SQLBytes.cs
- CompModSwitches.cs
- DragDeltaEventArgs.cs
- SpecialNameAttribute.cs
- DataGridViewCellCollection.cs
- CodeVariableDeclarationStatement.cs
- DataPager.cs
- CursorConverter.cs
- Common.cs
- BrowserInteropHelper.cs
- DataGridClipboardHelper.cs
- DiscoveryClientDuplexChannel.cs
- JsonByteArrayDataContract.cs
- newinstructionaction.cs
- TypeBuilderInstantiation.cs
- FixedPageProcessor.cs
- COMException.cs
- DirectionalLight.cs
- PlaceHolder.cs
- Clipboard.cs
- ToolStripContentPanelDesigner.cs
- WorkflowElementDialog.cs
- SystemColors.cs
- InteropAutomationProvider.cs
- XPathParser.cs
- WebServiceTypeData.cs
- xmlglyphRunInfo.cs
- TcpStreams.cs
- NameSpaceEvent.cs
- Axis.cs
- Matrix3DConverter.cs
- ContractHandle.cs
- DataGridViewColumn.cs
- ModulesEntry.cs
- QilPatternFactory.cs
- StringConcat.cs
- SmiEventSink_DeferedProcessing.cs
- ConfigurationCollectionAttribute.cs
- DataGridViewLayoutData.cs
- UnmanagedMarshal.cs
- Label.cs
- SecurityPolicySection.cs
- RawStylusInputReport.cs
- DateTimeFormatInfo.cs
- DefaultTraceListener.cs
- TypeDescriptionProviderAttribute.cs
- TraceInternal.cs
- HebrewNumber.cs
- RelationshipConverter.cs
- Gdiplus.cs
- DropShadowBitmapEffect.cs
- WebRequestModuleElement.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- RuntimeConfigurationRecord.cs
- HttpCapabilitiesEvaluator.cs
- HostingEnvironmentException.cs
- SimpleWebHandlerParser.cs
- DropShadowBitmapEffect.cs
- SqlRecordBuffer.cs
- GenericAuthenticationEventArgs.cs
- Error.cs
- FontUnit.cs
- RijndaelManagedTransform.cs
- HyperLinkDesigner.cs
- TableProviderWrapper.cs
- Soap.cs
- DesignerObject.cs
- ColumnResult.cs
- TdsEnums.cs
- OdbcException.cs
- EditorOptionAttribute.cs
- PropertyGrid.cs
- JournalEntry.cs
- SourceFileBuildProvider.cs
- FileChangeNotifier.cs
- WebBrowserNavigatedEventHandler.cs