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
- SqlReorderer.cs
- PassportAuthentication.cs
- HttpHeaderCollection.cs
- ProtocolsConfigurationHandler.cs
- QilReference.cs
- EntityContainer.cs
- MailSettingsSection.cs
- PropertyRef.cs
- ScrollChrome.cs
- HttpStreamXmlDictionaryReader.cs
- metrodevice.cs
- SqlDataSourceEnumerator.cs
- TextBox.cs
- StrokeNodeOperations.cs
- XPathNodeIterator.cs
- DependencyPropertyConverter.cs
- HelpProvider.cs
- ExpressionsCollectionConverter.cs
- DocumentOrderQuery.cs
- AttributeEmitter.cs
- ProfilePropertySettingsCollection.cs
- HttpHandlersSection.cs
- BindingManagerDataErrorEventArgs.cs
- RuntimeComponentFilter.cs
- ActivityCodeGenerator.cs
- GlyphInfoList.cs
- TraceHandler.cs
- DecoderExceptionFallback.cs
- DataGridViewCellLinkedList.cs
- SqlOuterApplyReducer.cs
- TraceLevelStore.cs
- FacetChecker.cs
- DSACryptoServiceProvider.cs
- SmtpSection.cs
- NeutralResourcesLanguageAttribute.cs
- MarginsConverter.cs
- HttpsTransportBindingElement.cs
- TablePatternIdentifiers.cs
- DaylightTime.cs
- WebAdminConfigurationHelper.cs
- SQLInt16.cs
- EntityType.cs
- URL.cs
- SqlCacheDependencySection.cs
- SkewTransform.cs
- _StreamFramer.cs
- ResourceManager.cs
- COM2PropertyDescriptor.cs
- ApplyImportsAction.cs
- ConfigXmlText.cs
- MimeBasePart.cs
- XmlTextReader.cs
- ToolStripDropDownClosedEventArgs.cs
- DataGridViewTopRowAccessibleObject.cs
- GlyphsSerializer.cs
- RequestNavigateEventArgs.cs
- SimpleHandlerBuildProvider.cs
- ExpandCollapseIsCheckedConverter.cs
- AssemblyAttributesGoHere.cs
- PtsPage.cs
- RefreshPropertiesAttribute.cs
- MenuCommand.cs
- ToolStripGrip.cs
- DataBindingCollection.cs
- XhtmlBasicLabelAdapter.cs
- XmlDataCollection.cs
- SQLInt16Storage.cs
- FileVersion.cs
- ThicknessAnimationBase.cs
- DataContractJsonSerializer.cs
- StylusCaptureWithinProperty.cs
- RectangleHotSpot.cs
- PathFigure.cs
- GenericEnumConverter.cs
- AdornerLayer.cs
- InputMethodStateTypeInfo.cs
- EntityClientCacheKey.cs
- Variable.cs
- OleDragDropHandler.cs
- DoubleLinkList.cs
- AnimationClock.cs
- EventWaitHandle.cs
- ISSmlParser.cs
- RuleConditionDialog.cs
- CorrelationManager.cs
- rsa.cs
- OciLobLocator.cs
- DataGridViewImageCell.cs
- StreamingContext.cs
- DataContract.cs
- TableCell.cs
- Ref.cs
- ControlParameter.cs
- HMACSHA384.cs
- FileSystemEventArgs.cs
- DataControlReferenceCollection.cs
- SerialReceived.cs
- ReflectTypeDescriptionProvider.cs
- ObjectItemCollection.cs
- BitmapFrame.cs