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
- recordstatescratchpad.cs
- DLinqDataModelProvider.cs
- grammarelement.cs
- HtmlObjectListAdapter.cs
- BasicCellRelation.cs
- KnownTypesHelper.cs
- Profiler.cs
- UserControlDocumentDesigner.cs
- CookieProtection.cs
- PerformanceCountersElement.cs
- Renderer.cs
- StylusTip.cs
- SqlExpressionNullability.cs
- SectionInput.cs
- TextViewSelectionProcessor.cs
- VarInfo.cs
- StatusBarPanel.cs
- PropertyChangingEventArgs.cs
- SafeEventHandle.cs
- XmlSequenceWriter.cs
- SchemaContext.cs
- ListSortDescriptionCollection.cs
- HttpRawResponse.cs
- UriTemplateLiteralQueryValue.cs
- wgx_render.cs
- FormatException.cs
- ConfigsHelper.cs
- ACE.cs
- OptionUsage.cs
- XmlIterators.cs
- FullTrustAssemblyCollection.cs
- CommandHelpers.cs
- DBSqlParserTable.cs
- ExtensionFile.cs
- smtpconnection.cs
- HtmlInputButton.cs
- X509ChainElement.cs
- PasswordTextNavigator.cs
- PackageProperties.cs
- Int32RectConverter.cs
- GridViewUpdatedEventArgs.cs
- PolyQuadraticBezierSegment.cs
- DataSourceCache.cs
- CompensationExtension.cs
- UIHelper.cs
- SchemaImporterExtensionElement.cs
- Transform3D.cs
- DPCustomTypeDescriptor.cs
- ZipIOLocalFileDataDescriptor.cs
- DbCommandDefinition.cs
- FieldDescriptor.cs
- TextDecorationUnitValidation.cs
- CachedFontFace.cs
- SchemaInfo.cs
- DBSchemaTable.cs
- ApplicationDirectoryMembershipCondition.cs
- InProcStateClientManager.cs
- WebPartMenuStyle.cs
- ImageDrawing.cs
- BitmapData.cs
- EUCJPEncoding.cs
- TableDetailsRow.cs
- __Error.cs
- ContentPosition.cs
- TypeEnumerableViewSchema.cs
- StringOutput.cs
- StoreItemCollection.cs
- TextServicesPropertyRanges.cs
- HtmlInputRadioButton.cs
- _IPv4Address.cs
- SolidBrush.cs
- CodeAccessPermission.cs
- DateRangeEvent.cs
- JpegBitmapEncoder.cs
- DataSourceSelectArguments.cs
- CursorConverter.cs
- _IPv6Address.cs
- LocalizationCodeDomSerializer.cs
- _CommandStream.cs
- IgnoreSectionHandler.cs
- QueryPageSettingsEventArgs.cs
- ClientSettingsSection.cs
- RegexCharClass.cs
- URLString.cs
- UniqueIdentifierService.cs
- CodeLabeledStatement.cs
- TimelineGroup.cs
- GeneralTransformGroup.cs
- Literal.cs
- sqlnorm.cs
- TypeSystem.cs
- FixedPageStructure.cs
- ETagAttribute.cs
- LicFileLicenseProvider.cs
- METAHEADER.cs
- ContainerFilterService.cs
- NumericPagerField.cs
- MultiSelectRootGridEntry.cs
- _LoggingObject.cs
- FastEncoderWindow.cs