Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / MsmqIntegration / MsmqIntegrationBindingElement.cs / 1 / MsmqIntegrationBindingElement.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.MsmqIntegration { using System.Net.Security; using System.Runtime.Serialization; using System.ServiceModel.Channels; using System.Collections.Generic; public sealed class MsmqIntegrationBindingElement : MsmqBindingElementBase { MsmqMessageSerializationFormat serializationFormat; Type[] targetSerializationTypes; public MsmqIntegrationBindingElement() { this.serializationFormat = MsmqIntegrationDefaults.SerializationFormat; } MsmqIntegrationBindingElement(MsmqIntegrationBindingElement other) : base(other) { this.serializationFormat = other.serializationFormat; if (other.targetSerializationTypes != null) { this.targetSerializationTypes = other.targetSerializationTypes.Clone() as Type[]; } } public override string Scheme { get { return "msmq.formatname"; } } internal override MsmqUri.IAddressTranslator AddressTranslator { get { return MsmqUri.FormatNameAddressTranslator; } } // applicable on: client, server public MsmqMessageSerializationFormat SerializationFormat { get { return this.serializationFormat; } set { if (!MsmqMessageSerializationFormatHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.serializationFormat = value; } } // applicable on: receiver public Type[] TargetSerializationTypes { get { if (null == this.targetSerializationTypes) return null; else return this.targetSerializationTypes.Clone() as Type[]; } set { if (null == value) this.targetSerializationTypes = null; else this.targetSerializationTypes = value.Clone() as Type[]; } } public override BindingElement Clone() { return new MsmqIntegrationBindingElement(this); } public override bool CanBuildChannelFactory(BindingContext context) { return typeof(TChannel) == typeof(IOutputChannel); } public override bool CanBuildChannelListener (BindingContext context) { return typeof(TChannel) == typeof(IInputChannel); } public override IChannelFactory BuildChannelFactory (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } if (typeof(TChannel) != typeof(IOutputChannel)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("TChannel", SR.GetString(SR.ChannelTypeNotSupported, typeof(TChannel))); } MsmqChannelFactoryBase factory = new MsmqIntegrationChannelFactory(this, context); MsmqVerifier.VerifySender (factory); return (IChannelFactory )(object)factory; } public override IChannelListener BuildChannelListener (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } if (typeof(TChannel) != typeof(IInputChannel)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("TChannel", SR.GetString(SR.ChannelTypeNotSupported, typeof(TChannel))); } MsmqIntegrationReceiveParameters receiveParameters = new MsmqIntegrationReceiveParameters(this); MsmqIntegrationChannelListener listener = new MsmqIntegrationChannelListener(this, context, receiveParameters); MsmqVerifier.VerifyReceiver(receiveParameters, listener.Uri); return (IChannelListener )(object)listener; } public override T GetProperty (BindingContext context) { if (context == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("context"); } if (typeof(T) == typeof(MessageVersion)) { return (T)(object)(MessageVersion.None); } else { return base.GetProperty (context); } } } } // 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
- OleDbPermission.cs
- BindingWorker.cs
- MultipartIdentifier.cs
- XmlExceptionHelper.cs
- VariableQuery.cs
- Literal.cs
- BufferAllocator.cs
- ExceptionHelpers.cs
- SqlParameterizer.cs
- ToolStripMenuItem.cs
- PatternMatcher.cs
- ObjectItemCachedAssemblyLoader.cs
- OverflowException.cs
- QuaternionRotation3D.cs
- ColorTranslator.cs
- RectangleF.cs
- ToolBarOverflowPanel.cs
- FileLoadException.cs
- XPathSelfQuery.cs
- AutomationFocusChangedEventArgs.cs
- KnownBoxes.cs
- InkCanvas.cs
- ExpressionList.cs
- AppDomainProtocolHandler.cs
- entityreference_tresulttype.cs
- X509Certificate2Collection.cs
- ResXResourceWriter.cs
- EventLogPermissionEntry.cs
- EntityDataSourceState.cs
- AppSettingsReader.cs
- IntellisenseTextBox.designer.cs
- Rijndael.cs
- CodeDOMProvider.cs
- DataGridViewRowPrePaintEventArgs.cs
- TextHidden.cs
- MetadataItemCollectionFactory.cs
- EventLevel.cs
- DataGridItemCollection.cs
- EntitySetDataBindingList.cs
- FloaterParaClient.cs
- SamlSecurityTokenAuthenticator.cs
- RegexCompiler.cs
- Listen.cs
- ScriptingScriptResourceHandlerSection.cs
- PropertyManager.cs
- MULTI_QI.cs
- DesignDataSource.cs
- ErrorRuntimeConfig.cs
- InfoCardArgumentException.cs
- EnvelopedPkcs7.cs
- CollectionDataContractAttribute.cs
- Triangle.cs
- AutomationElementIdentifiers.cs
- COM2EnumConverter.cs
- _AutoWebProxyScriptWrapper.cs
- LoggedException.cs
- UIPropertyMetadata.cs
- PopupEventArgs.cs
- SqlBulkCopy.cs
- X509RecipientCertificateServiceElement.cs
- ListControl.cs
- UnsafeNativeMethods.cs
- MetadataArtifactLoaderCompositeResource.cs
- ObjectStateManagerMetadata.cs
- EventArgs.cs
- FontWeight.cs
- XPathLexer.cs
- XmlSchemaCompilationSettings.cs
- ReferencedCategoriesDocument.cs
- EastAsianLunisolarCalendar.cs
- XmlTextWriter.cs
- Select.cs
- WorkerRequest.cs
- AssertSection.cs
- InheritanceContextHelper.cs
- StorageInfo.cs
- HandlerBase.cs
- FileCodeGroup.cs
- PersonalizationDictionary.cs
- StatusBar.cs
- EntityViewGenerationConstants.cs
- UIHelper.cs
- GridLengthConverter.cs
- VariantWrapper.cs
- SpotLight.cs
- OutputScopeManager.cs
- ActivationArguments.cs
- XmlDataSource.cs
- Size.cs
- ScriptResourceHandler.cs
- FlowLayout.cs
- ResourceExpressionBuilder.cs
- XamlTemplateSerializer.cs
- KeyFrames.cs
- SoapCodeExporter.cs
- SettingsProperty.cs
- DbDataSourceEnumerator.cs
- SynchronizedInputProviderWrapper.cs
- SrgsNameValueTag.cs
- SQLGuid.cs