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
- MD5CryptoServiceProvider.cs
- DataControlFieldCollection.cs
- XmlSchemaSet.cs
- StrongName.cs
- UrlAuthFailedErrorFormatter.cs
- PenLineJoinValidation.cs
- Partitioner.cs
- TextRunTypographyProperties.cs
- ResourceDescriptionAttribute.cs
- ListView.cs
- DPTypeDescriptorContext.cs
- XmlCustomFormatter.cs
- FilterQueryOptionExpression.cs
- BrowserCapabilitiesFactory.cs
- BufferModeSettings.cs
- SamlAttribute.cs
- HotCommands.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DrawingAttributeSerializer.cs
- TextBoxView.cs
- MouseEvent.cs
- SessionEndingEventArgs.cs
- RecipientIdentity.cs
- embossbitmapeffect.cs
- Assert.cs
- ToolStripMenuItem.cs
- ReadOnlyAttribute.cs
- CodeDirectiveCollection.cs
- Menu.cs
- GuidTagList.cs
- Quad.cs
- ObjectHelper.cs
- Table.cs
- TypeGeneratedEventArgs.cs
- DefaultValueMapping.cs
- SoapHeaders.cs
- QueryComponents.cs
- TraceSwitch.cs
- ManagementBaseObject.cs
- XmlILTrace.cs
- TextElement.cs
- ObjectStateEntry.cs
- DocumentStatusResources.cs
- ReadOnlyHierarchicalDataSource.cs
- querybuilder.cs
- PromptStyle.cs
- CancelEventArgs.cs
- InputLanguageCollection.cs
- AmbiguousMatchException.cs
- LinkLabelLinkClickedEvent.cs
- PasswordBox.cs
- ServiceContractAttribute.cs
- FragmentQueryKB.cs
- QilPatternFactory.cs
- TransactionManager.cs
- AbsoluteQuery.cs
- ProtocolsConfiguration.cs
- XmlBinaryReader.cs
- DocumentSignatureManager.cs
- DataGridToolTip.cs
- EventsTab.cs
- XamlSerializationHelper.cs
- CacheForPrimitiveTypes.cs
- ColorAnimation.cs
- DragStartedEventArgs.cs
- EndpointDiscoveryBehavior.cs
- EventDescriptor.cs
- CornerRadiusConverter.cs
- GetCertificateRequest.cs
- ParseNumbers.cs
- Missing.cs
- BitmapFrame.cs
- SqlNodeAnnotation.cs
- JournalEntryStack.cs
- ItemType.cs
- ApplicationDirectory.cs
- Substitution.cs
- QilInvokeEarlyBound.cs
- WizardSideBarListControlItemEventArgs.cs
- ApplicationId.cs
- Vector3D.cs
- QuaternionAnimationBase.cs
- SqlDependencyUtils.cs
- WebScriptServiceHostFactory.cs
- HideDisabledControlAdapter.cs
- MenuItemStyle.cs
- ListViewDataItem.cs
- SiteMapNode.cs
- GeneralTransform3DTo2D.cs
- LayoutEditorPart.cs
- EqualityComparer.cs
- SessionStateUtil.cs
- Validator.cs
- EdmSchemaAttribute.cs
- XmlSchemaImporter.cs
- ObjectSet.cs
- ColorConverter.cs
- RequestContext.cs
- TaskbarItemInfo.cs
- OrderByBuilder.cs