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
- HtmlInputControl.cs
- ComplexTypeEmitter.cs
- VariableQuery.cs
- ClosureBinding.cs
- OutputCacheProfile.cs
- PageRanges.cs
- CompareValidator.cs
- ListViewAutomationPeer.cs
- KerberosSecurityTokenParameters.cs
- FileDialogPermission.cs
- XXXOnTypeBuilderInstantiation.cs
- XmlAnyAttributeAttribute.cs
- OAVariantLib.cs
- TextServicesLoader.cs
- HyperLinkField.cs
- SystemResources.cs
- FormClosedEvent.cs
- SingleAnimationUsingKeyFrames.cs
- PopupRootAutomationPeer.cs
- TextRangeAdaptor.cs
- ProfilePropertySettings.cs
- ReadOnlyCollectionBase.cs
- ConfigXmlComment.cs
- XhtmlBasicValidationSummaryAdapter.cs
- FontWeights.cs
- PackageDigitalSignatureManager.cs
- CompilationPass2TaskInternal.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- IntSecurity.cs
- AutoGeneratedFieldProperties.cs
- SizeF.cs
- DataSourceSelectArguments.cs
- CustomValidator.cs
- ServiceInfo.cs
- SqlBuilder.cs
- EnumerableRowCollection.cs
- securitycriticaldataformultiplegetandset.cs
- FacetDescriptionElement.cs
- TextEffectCollection.cs
- AppearanceEditorPart.cs
- ThumbAutomationPeer.cs
- Logging.cs
- TreeViewItem.cs
- RSAProtectedConfigurationProvider.cs
- Resources.Designer.cs
- TypeRestriction.cs
- MsmqInputMessage.cs
- AccessedThroughPropertyAttribute.cs
- CompositeScriptReferenceEventArgs.cs
- WebPartMenuStyle.cs
- TextFormattingConverter.cs
- WebPartDescriptionCollection.cs
- EventSinkActivity.cs
- CallbackValidatorAttribute.cs
- ManifestResourceInfo.cs
- HttpCachePolicy.cs
- ServiceContractViewControl.cs
- SecurityContextSecurityTokenAuthenticator.cs
- SqlAliasesReferenced.cs
- RegexGroupCollection.cs
- HtmlImage.cs
- EditBehavior.cs
- ItemAutomationPeer.cs
- TripleDES.cs
- FixedPosition.cs
- _CacheStreams.cs
- DetailsViewRow.cs
- TextServicesDisplayAttributePropertyRanges.cs
- Evidence.cs
- DependencyPropertyValueSerializer.cs
- SoapFormatter.cs
- EdmConstants.cs
- IFormattable.cs
- TabItem.cs
- EntityProviderServices.cs
- MethodBody.cs
- FixedElement.cs
- HtmlEmptyTagControlBuilder.cs
- RegisteredExpandoAttribute.cs
- assertwrapper.cs
- NavigationProperty.cs
- WebBrowser.cs
- FileFormatException.cs
- SessionIDManager.cs
- ServiceDescriptionSerializer.cs
- CodeTypeOfExpression.cs
- ClosableStream.cs
- Journaling.cs
- OutputCacheModule.cs
- ApplyImportsAction.cs
- DependencySource.cs
- EventHandlersStore.cs
- _ChunkParse.cs
- ExplicitDiscriminatorMap.cs
- DeflateStream.cs
- MenuScrollingVisibilityConverter.cs
- VirtualPathUtility.cs
- WsatServiceCertificate.cs
- UnsafeNativeMethods.cs
- uribuilder.cs