Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / NetMsmqSecurity.cs / 1 / NetMsmqSecurity.cs
//---------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------------------- namespace System.ServiceModel { using System.Diagnostics; using System.Net.Security; using System.ServiceModel.Channels; using Config = System.ServiceModel.Configuration; public sealed class NetMsmqSecurity { internal const NetMsmqSecurityMode DefaultMode = NetMsmqSecurityMode.Transport; NetMsmqSecurityMode mode; MsmqTransportSecurity transportSecurity; MessageSecurityOverMsmq messageSecurity; internal NetMsmqSecurity() : this(DefaultMode, null, null) { } internal NetMsmqSecurity(NetMsmqSecurityMode mode) : this(mode, null, null) { } NetMsmqSecurity(NetMsmqSecurityMode mode, MsmqTransportSecurity transportSecurity, MessageSecurityOverMsmq messageSecurity) { DiagnosticUtility.DebugAssert(NetMsmqSecurityModeHelper.IsDefined(mode), string.Format("Invalid NetMsmqSecurityMode value: {0}.", mode.ToString())); this.mode = mode; this.transportSecurity = transportSecurity == null ? new MsmqTransportSecurity() : transportSecurity; this.messageSecurity = messageSecurity == null ? new MessageSecurityOverMsmq() : messageSecurity; } public NetMsmqSecurityMode Mode { get { return this.mode; } set { if (!NetMsmqSecurityModeHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.mode = value; } } public MsmqTransportSecurity Transport { get { if (this.transportSecurity == null) this.transportSecurity = new MsmqTransportSecurity(); return this.transportSecurity; } } public MessageSecurityOverMsmq Message { get { if (this.messageSecurity == null) this.messageSecurity = new MessageSecurityOverMsmq(); return this.messageSecurity; } } internal void ConfigureTransportSecurity(MsmqBindingElementBase msmq) { if (this.mode == NetMsmqSecurityMode.Transport || this.mode == NetMsmqSecurityMode.Both) msmq.MsmqTransportSecurity = this.Transport; else msmq.MsmqTransportSecurity.Disable(); } internal static bool IsConfiguredTransportSecurity(MsmqTransportBindingElement msmq, out UnifiedSecurityMode mode) { if (msmq == null) { mode = UnifiedSecurityMode.None; return false; } if (msmq.MsmqTransportSecurity.Enabled) { mode = UnifiedSecurityMode.Transport | UnifiedSecurityMode.Both; } else { mode = UnifiedSecurityMode.None | UnifiedSecurityMode.Message; } return true; } internal SecurityBindingElement CreateMessageSecurity() { return this.Message.CreateSecurityBindingElement(); } // internal static bool TryCreate(SecurityBindingElement sbe, NetMsmqSecurityMode mode, out NetMsmqSecurity security) { security = null; MessageSecurityOverMsmq messageSecurity; if (!MessageSecurityOverMsmq.TryCreate(sbe, out messageSecurity)) messageSecurity = null; security = new NetMsmqSecurity(mode, null, messageSecurity); return sbe == null || Config.SecurityElement.AreBindingsMatching(security.CreateMessageSecurity(), sbe, false); } } } // 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
- TextWriter.cs
- ApplicationInterop.cs
- HMACSHA1.cs
- Token.cs
- XmlSchemaProviderAttribute.cs
- ListenUriMode.cs
- Timer.cs
- PlatformCulture.cs
- OutputWindow.cs
- Roles.cs
- QilUnary.cs
- DataGridViewComboBoxEditingControl.cs
- SemaphoreFullException.cs
- TextEditorSelection.cs
- COAUTHINFO.cs
- AssemblyBuilder.cs
- ContractValidationHelper.cs
- WebPartPersonalization.cs
- NotifyParentPropertyAttribute.cs
- Compilation.cs
- CanExpandCollapseAllConverter.cs
- DotAtomReader.cs
- LogPolicy.cs
- SimpleApplicationHost.cs
- BinHexEncoder.cs
- Attachment.cs
- InvalidContentTypeException.cs
- CompiledIdentityConstraint.cs
- DesignParameter.cs
- DesignerCategoryAttribute.cs
- SByteConverter.cs
- LogRestartAreaEnumerator.cs
- TagPrefixInfo.cs
- ApplicationServiceManager.cs
- PackagePartCollection.cs
- connectionpool.cs
- FixedSOMGroup.cs
- IgnoreDeviceFilterElement.cs
- _HelperAsyncResults.cs
- GenericIdentity.cs
- WebPartVerbsEventArgs.cs
- ListViewTableCell.cs
- Vector3DCollectionConverter.cs
- GridViewRow.cs
- ParameterBuilder.cs
- SkewTransform.cs
- ValidationRule.cs
- DataGridViewBand.cs
- InputProcessorProfiles.cs
- AdapterDictionary.cs
- MethodCallConverter.cs
- NeutralResourcesLanguageAttribute.cs
- PersonalizationProvider.cs
- SqlBooleanMismatchVisitor.cs
- TabletDeviceInfo.cs
- CheckBox.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- Update.cs
- XNameConverter.cs
- TypeNameParser.cs
- DoubleAnimationUsingKeyFrames.cs
- TextBoxAutomationPeer.cs
- ReadOnlyPropertyMetadata.cs
- ResourceDefaultValueAttribute.cs
- ProfileParameter.cs
- SoapInteropTypes.cs
- ResourceProviderFactory.cs
- FamilyMap.cs
- ResolveMatches11.cs
- ScrollProviderWrapper.cs
- XmlSchemaSubstitutionGroup.cs
- ISO2022Encoding.cs
- ArgIterator.cs
- HandlerFactoryCache.cs
- TypeBuilderInstantiation.cs
- SelectingProviderEventArgs.cs
- ProxyHwnd.cs
- MessageEventSubscriptionService.cs
- SecurityCookieModeValidator.cs
- SerTrace.cs
- RNGCryptoServiceProvider.cs
- Zone.cs
- RenderData.cs
- MDIWindowDialog.cs
- RelatedImageListAttribute.cs
- MasterPage.cs
- XMLSchema.cs
- AutomationEventArgs.cs
- Char.cs
- ChannelFactory.cs
- sapiproxy.cs
- X509Certificate2Collection.cs
- MobileControl.cs
- DeferredElementTreeState.cs
- WebSysDefaultValueAttribute.cs
- SectionUpdates.cs
- TypeHelper.cs
- InteropBitmapSource.cs
- WinFormsComponentEditor.cs
- MetadataItemCollectionFactory.cs