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
- Base64Decoder.cs
- SafeCoTaskMem.cs
- DataGridColumn.cs
- BaseCodePageEncoding.cs
- GlobalItem.cs
- Operators.cs
- CustomAttribute.cs
- ParameterCollection.cs
- StoreContentChangedEventArgs.cs
- CombinedTcpChannel.cs
- LockingPersistenceProvider.cs
- SizeConverter.cs
- AuthorizationSection.cs
- CodeMemberMethod.cs
- ClientRuntimeConfig.cs
- XmlSchemaObject.cs
- ControlBuilderAttribute.cs
- LinqDataSourceStatusEventArgs.cs
- VirtualDirectoryMappingCollection.cs
- IndentedWriter.cs
- DrawingContextDrawingContextWalker.cs
- SQLByteStorage.cs
- DataServiceQueryOfT.cs
- ShapeTypeface.cs
- ApplicationException.cs
- RouteParser.cs
- TextServicesCompartment.cs
- AppDomainCompilerProxy.cs
- SecurityHelper.cs
- XmlIterators.cs
- EntitySetBase.cs
- PackWebResponse.cs
- recordstatefactory.cs
- CodeSnippetStatement.cs
- BezierSegment.cs
- TemplateControl.cs
- Rijndael.cs
- HttpWebRequestElement.cs
- ServiceSecurityContext.cs
- ListManagerBindingsCollection.cs
- ApplicationManager.cs
- Utility.cs
- OpCellTreeNode.cs
- RelatedView.cs
- ResourcePart.cs
- Zone.cs
- ColorTypeConverter.cs
- SqlInternalConnectionTds.cs
- ThrowHelper.cs
- ReverseComparer.cs
- BooleanSwitch.cs
- AssemblyBuilder.cs
- EtwTrace.cs
- safex509handles.cs
- MultiView.cs
- CompensatableSequenceActivity.cs
- DocumentCollection.cs
- Convert.cs
- DataServiceRequestException.cs
- TransformedBitmap.cs
- HijriCalendar.cs
- ConstraintStruct.cs
- IgnorePropertiesAttribute.cs
- AutomationPeer.cs
- KeysConverter.cs
- TextTreeText.cs
- EditorAttribute.cs
- LocatorPart.cs
- XamlSerializerUtil.cs
- BaseDataBoundControl.cs
- Model3D.cs
- LogReserveAndAppendState.cs
- PriorityBindingExpression.cs
- TemplatePartAttribute.cs
- CultureInfo.cs
- DbSetClause.cs
- ActivityDelegate.cs
- FrameworkTemplate.cs
- VectorValueSerializer.cs
- HandledMouseEvent.cs
- ObjectTag.cs
- SessionSwitchEventArgs.cs
- TemplateBindingExtensionConverter.cs
- ProtocolReflector.cs
- CacheOutputQuery.cs
- WorkflowDesignerColors.cs
- StringArrayConverter.cs
- MimeMapping.cs
- DrawingAttributesDefaultValueFactory.cs
- TreeBuilder.cs
- DataListGeneralPage.cs
- HostProtectionException.cs
- RuntimeResourceSet.cs
- SynchronizationContext.cs
- XamlBrushSerializer.cs
- XmlSchemaInfo.cs
- TraceProvider.cs
- HwndTarget.cs
- typedescriptorpermissionattribute.cs
- BrowserCapabilitiesCodeGenerator.cs