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
- RijndaelManaged.cs
- TimeoutValidationAttribute.cs
- ActiveXContainer.cs
- DataSet.cs
- util.cs
- RealizationDrawingContextWalker.cs
- DbMetaDataColumnNames.cs
- UriTemplatePathSegment.cs
- EpmSyndicationContentSerializer.cs
- SessionPageStatePersister.cs
- CodeDelegateCreateExpression.cs
- StandardOleMarshalObject.cs
- PlatformCulture.cs
- SessionParameter.cs
- HttpModule.cs
- SQLConvert.cs
- GridLength.cs
- NestedContainer.cs
- ClockController.cs
- TypedDataSetSchemaImporterExtension.cs
- QueryContinueDragEvent.cs
- RenderTargetBitmap.cs
- DocumentOrderQuery.cs
- DrawingGroupDrawingContext.cs
- ComponentChangedEvent.cs
- WsrmMessageInfo.cs
- FacetValueContainer.cs
- DownloadProgressEventArgs.cs
- DelayLoadType.cs
- PlatformCulture.cs
- BamlLocalizableResourceKey.cs
- UpDownEvent.cs
- InternalBase.cs
- AncillaryOps.cs
- XmlStreamNodeWriter.cs
- ASCIIEncoding.cs
- Triangle.cs
- DataGridViewAutoSizeModeEventArgs.cs
- TemplateKeyConverter.cs
- DesignerSerializationVisibilityAttribute.cs
- TypeUnloadedException.cs
- ConnectionsZone.cs
- QilStrConcat.cs
- TableLayoutColumnStyleCollection.cs
- RoutedEventConverter.cs
- InstancePersistenceContext.cs
- CodeAttributeDeclaration.cs
- PiiTraceSource.cs
- ImageInfo.cs
- TerminateSequenceResponse.cs
- ToolStripDropTargetManager.cs
- Visual3DCollection.cs
- PopupRoot.cs
- MailBnfHelper.cs
- Evaluator.cs
- StringConverter.cs
- EntityDataReader.cs
- TraceLog.cs
- ComponentResourceManager.cs
- IgnoreFileBuildProvider.cs
- SHA384Managed.cs
- Tracking.cs
- ChildrenQuery.cs
- ComponentCommands.cs
- DbConnectionClosed.cs
- WrapperEqualityComparer.cs
- ButtonChrome.cs
- DeclarativeExpressionConditionDeclaration.cs
- ClickablePoint.cs
- XmlAttributeOverrides.cs
- WebBrowserBase.cs
- DocumentEventArgs.cs
- ApplicationManager.cs
- ByteStorage.cs
- Converter.cs
- ApplicationException.cs
- UserPersonalizationStateInfo.cs
- SystemIPAddressInformation.cs
- WebPartUserCapability.cs
- DifferencingCollection.cs
- SerializableAttribute.cs
- SequentialWorkflowHeaderFooter.cs
- OdbcCommand.cs
- ToolStripPanelRow.cs
- SlipBehavior.cs
- LinqDataSource.cs
- LinqDataView.cs
- StateElement.cs
- Expander.cs
- PackUriHelper.cs
- AlternateView.cs
- DetailsViewActionList.cs
- EventHandlersStore.cs
- TcpSocketManager.cs
- WorkflowServiceBuildProvider.cs
- Rect.cs
- IconHelper.cs
- MinimizableAttributeTypeConverter.cs
- AnchoredBlock.cs
- SafeViewOfFileHandle.cs