Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / WSDualHttpSecurity.cs / 1 / WSDualHttpSecurity.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System.Diagnostics; using System.Net.Security; using System.ServiceModel.Channels; using System.ServiceModel.Security; using System.ServiceModel.Configuration; public sealed class WSDualHttpSecurity { static readonly MessageSecurityVersion WSDualMessageSecurityVersion = MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10; internal const WSDualHttpSecurityMode DefaultMode = WSDualHttpSecurityMode.Message; WSDualHttpSecurityMode mode; MessageSecurityOverHttp messageSecurity; internal WSDualHttpSecurity() : this(DefaultMode, new MessageSecurityOverHttp()) { } WSDualHttpSecurity(WSDualHttpSecurityMode mode, MessageSecurityOverHttp messageSecurity) { DiagnosticUtility.DebugAssert(WSDualHttpSecurityModeHelper.IsDefined(mode), string.Format("Invalid WSDualHttpSecurityMode value: {0}", mode.ToString())); this.mode = mode; this.messageSecurity = messageSecurity == null ? new MessageSecurityOverHttp() : messageSecurity; } public WSDualHttpSecurityMode Mode { get { return this.mode; } set { if (!WSDualHttpSecurityModeHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.mode = value; } } public MessageSecurityOverHttp Message { get { return this.messageSecurity; } } internal SecurityBindingElement CreateMessageSecurity() { if (this.mode == WSDualHttpSecurityMode.Message) { return this.messageSecurity.CreateSecurityBindingElement(false, true, WSDualMessageSecurityVersion); } else { return null; } } internal static bool TryCreate(SecurityBindingElement sbe, out WSDualHttpSecurity security) { security = null; if (sbe == null) security = new WSDualHttpSecurity(WSDualHttpSecurityMode.None, null); else { MessageSecurityOverHttp messageSecurity; if (!MessageSecurityOverHttp.TryCreate(sbe, false, true, out messageSecurity)) return false; security = new WSDualHttpSecurity(WSDualHttpSecurityMode.Message, messageSecurity); } // the last check: make sure that security binding element match the incoming security return SecurityElement.AreBindingsMatching(security.CreateMessageSecurity(), sbe); } } } // 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
- EntityCollection.cs
- SqlProfileProvider.cs
- elementinformation.cs
- InvalidOleVariantTypeException.cs
- _LazyAsyncResult.cs
- Lease.cs
- PropertyEntry.cs
- ASCIIEncoding.cs
- ImpersonateTokenRef.cs
- RSAProtectedConfigurationProvider.cs
- ExecutionContext.cs
- EdmType.cs
- StylusPointProperties.cs
- XmlEventCache.cs
- DoubleUtil.cs
- BmpBitmapDecoder.cs
- HtmlInputPassword.cs
- BaseTreeIterator.cs
- MultilineStringEditor.cs
- DropDownList.cs
- RuleAction.cs
- TemplateContentLoader.cs
- FileRecordSequenceCompletedAsyncResult.cs
- ToolStripDropDown.cs
- MissingFieldException.cs
- cookieexception.cs
- PolicyException.cs
- XmlAttributes.cs
- CodeNamespaceImport.cs
- TableRowCollection.cs
- DbCommandDefinition.cs
- EllipseGeometry.cs
- Control.cs
- XamlFrame.cs
- MessageSecurityProtocolFactory.cs
- ToolBarPanel.cs
- AddressAccessDeniedException.cs
- KeyPullup.cs
- EncodingDataItem.cs
- SafeCryptContextHandle.cs
- RtfFormatStack.cs
- InputProviderSite.cs
- DeclarativeExpressionConditionDeclaration.cs
- FlowDocument.cs
- JsonByteArrayDataContract.cs
- DeferredTextReference.cs
- LoginCancelEventArgs.cs
- TitleStyle.cs
- DbParameterCollection.cs
- RequestContextBase.cs
- FormViewPagerRow.cs
- XmlExpressionDumper.cs
- MutexSecurity.cs
- PersonalizationAdministration.cs
- unsafenativemethodsother.cs
- GeneralTransform3DTo2DTo3D.cs
- XmlSchemaSimpleContentRestriction.cs
- RawStylusActions.cs
- ControlTemplate.cs
- _KerberosClient.cs
- UnauthorizedWebPart.cs
- InvalidChannelBindingException.cs
- DocumentGridContextMenu.cs
- FlowDocumentView.cs
- DeclarationUpdate.cs
- SafeFileMappingHandle.cs
- CultureSpecificCharacterBufferRange.cs
- WithStatement.cs
- DataQuery.cs
- PrintPreviewDialog.cs
- CachedTypeface.cs
- XmlQueryStaticData.cs
- Function.cs
- RootNamespaceAttribute.cs
- GeometryConverter.cs
- OneOfTypeConst.cs
- OutOfProcStateClientManager.cs
- ScriptingRoleServiceSection.cs
- EmptyImpersonationContext.cs
- EmptyElement.cs
- _RequestCacheProtocol.cs
- BinHexEncoder.cs
- QueryTreeBuilder.cs
- LinqDataSourceStatusEventArgs.cs
- Pen.cs
- JsonClassDataContract.cs
- ValueTable.cs
- TemplateComponentConnector.cs
- StructuralObject.cs
- ToolStripPanel.cs
- MethodCallConverter.cs
- ObjectListDataBindEventArgs.cs
- ToolboxDataAttribute.cs
- LongCountAggregationOperator.cs
- OpCellTreeNode.cs
- TextSimpleMarkerProperties.cs
- Choices.cs
- CopyOnWriteList.cs
- SubstitutionDesigner.cs
- WebPartConnectionsCloseVerb.cs