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
- SqlConnectionString.cs
- MobileTextWriter.cs
- ControlSerializer.cs
- OleDbStruct.cs
- BindableAttribute.cs
- GeometryCollection.cs
- MessageFilterException.cs
- MetadataItem.cs
- QueryReaderSettings.cs
- SizeAnimation.cs
- IdentityReference.cs
- CodeExpressionCollection.cs
- TableAutomationPeer.cs
- SerializableTypeCodeDomSerializer.cs
- DebuggerAttributes.cs
- BindingGroup.cs
- Vector3DCollection.cs
- StylusPointCollection.cs
- Table.cs
- SqlDataSourceWizardForm.cs
- CheckBox.cs
- EntitySqlQueryBuilder.cs
- Pick.cs
- WindowsSpinner.cs
- ActivityDesignerLayoutSerializers.cs
- PackageDigitalSignature.cs
- RangeValidator.cs
- WebPartConnectionCollection.cs
- dtdvalidator.cs
- NativeMethods.cs
- DBPropSet.cs
- SoundPlayerAction.cs
- Parameter.cs
- UnauthorizedWebPart.cs
- CryptoApi.cs
- _TransmitFileOverlappedAsyncResult.cs
- Compiler.cs
- TextShapeableCharacters.cs
- SqlDataSourceParameterParser.cs
- ProviderBase.cs
- ThreadExceptionDialog.cs
- DataGridViewCellEventArgs.cs
- ComplexLine.cs
- DateTimeValueSerializer.cs
- DifferencingCollection.cs
- EntityContainerEmitter.cs
- FunctionDefinition.cs
- ListBoxItemWrapperAutomationPeer.cs
- ObjectDataSourceWizardForm.cs
- ScrollProperties.cs
- BulletChrome.cs
- UpdateCompiler.cs
- FileDialogCustomPlacesCollection.cs
- ISAPIRuntime.cs
- WindowsPrincipal.cs
- TypeBuilderInstantiation.cs
- Bezier.cs
- IconConverter.cs
- ToolStripItemTextRenderEventArgs.cs
- WinCategoryAttribute.cs
- XamlInt32CollectionSerializer.cs
- IntSecurity.cs
- ListBox.cs
- MultiSelectRootGridEntry.cs
- EventHandlerList.cs
- EqualityArray.cs
- SafeHandles.cs
- Char.cs
- HttpDictionary.cs
- KeyConstraint.cs
- DeviceOverridableAttribute.cs
- SafeRightsManagementQueryHandle.cs
- TypeElement.cs
- RegexRunnerFactory.cs
- TrustLevelCollection.cs
- COSERVERINFO.cs
- ListViewUpdateEventArgs.cs
- ToolboxDataAttribute.cs
- DeadCharTextComposition.cs
- MemberDescriptor.cs
- DesignerLoader.cs
- FilterElement.cs
- GenericWebPart.cs
- _ChunkParse.cs
- Metafile.cs
- ConfigXmlText.cs
- HttpListener.cs
- SspiWrapper.cs
- HMACMD5.cs
- XmlDigitalSignatureProcessor.cs
- DynamicArgumentDesigner.xaml.cs
- UserNameSecurityToken.cs
- XhtmlConformanceSection.cs
- NotSupportedException.cs
- IssuanceTokenProviderState.cs
- PerfCounterSection.cs
- Connector.cs
- ResourceReader.cs
- CustomAttributeFormatException.cs
- UnsafeNativeMethods.cs