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
- HtmlMeta.cs
- BaseServiceProvider.cs
- WindowAutomationPeer.cs
- ConstrainedGroup.cs
- WebPartZoneCollection.cs
- StorageAssociationTypeMapping.cs
- XmlSignatureProperties.cs
- EntityViewGenerationConstants.cs
- KnownBoxes.cs
- CompositeKey.cs
- wgx_render.cs
- XmlUnspecifiedAttribute.cs
- EndpointConfigContainer.cs
- UpDownBase.cs
- FixedFindEngine.cs
- ProviderConnectionPointCollection.cs
- ClientData.cs
- ToolboxComponentsCreatedEventArgs.cs
- ChildTable.cs
- LongTypeConverter.cs
- TagPrefixInfo.cs
- Win32Exception.cs
- AdPostCacheSubstitution.cs
- NetSectionGroup.cs
- StrongTypingException.cs
- ToolStripContainer.cs
- SmiRequestExecutor.cs
- WebPartDisplayModeCollection.cs
- AdornerPresentationContext.cs
- TypeBuilderInstantiation.cs
- HttpWebResponse.cs
- httpserverutility.cs
- BaseTemplateParser.cs
- ComEventsMethod.cs
- DmlSqlGenerator.cs
- PermissionRequestEvidence.cs
- MinimizableAttributeTypeConverter.cs
- ApplicationManager.cs
- Grant.cs
- ServerIdentity.cs
- ApplicationCommands.cs
- FamilyTypefaceCollection.cs
- DataGridViewColumnEventArgs.cs
- MenuItem.cs
- AnonymousIdentificationSection.cs
- ApplicationGesture.cs
- CallContext.cs
- FilteredAttributeCollection.cs
- EnumMember.cs
- StyleXamlTreeBuilder.cs
- Set.cs
- FileRegion.cs
- lengthconverter.cs
- SemaphoreSlim.cs
- InputLanguageProfileNotifySink.cs
- securitymgrsite.cs
- XmlSignatureManifest.cs
- OleDbError.cs
- SqlNodeTypeOperators.cs
- SqlCaseSimplifier.cs
- QilInvokeEarlyBound.cs
- UTF8Encoding.cs
- SparseMemoryStream.cs
- DayRenderEvent.cs
- ManagementObjectCollection.cs
- XhtmlTextWriter.cs
- BaseHashHelper.cs
- DNS.cs
- HostExecutionContextManager.cs
- DeclarativeCatalogPart.cs
- CapacityStreamGeometryContext.cs
- AppSettingsExpressionBuilder.cs
- DataGridParentRows.cs
- SchemaNamespaceManager.cs
- RegistryKey.cs
- PrePrepareMethodAttribute.cs
- StreamWithDictionary.cs
- AnimationLayer.cs
- UrlRoutingHandler.cs
- StringInfo.cs
- PropertyMapper.cs
- Panel.cs
- BindingListCollectionView.cs
- IncrementalReadDecoders.cs
- VariantWrapper.cs
- UniformGrid.cs
- StorageRoot.cs
- WaitHandleCannotBeOpenedException.cs
- DefaultSerializationProviderAttribute.cs
- ProcessHostConfigUtils.cs
- FixedSOMLineCollection.cs
- RadialGradientBrush.cs
- TextReader.cs
- CodeMemberMethod.cs
- OperationParameterInfo.cs
- StylusTip.cs
- NavigationCommands.cs
- CheckBoxBaseAdapter.cs
- PeerCustomResolverSettings.cs
- RedirectionProxy.cs