Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / SecurityHeader.cs / 1 / SecurityHeader.cs
//---------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System.Globalization; using System.ServiceModel.Channels; using System.ServiceModel; using System.ServiceModel.Description; using System.Xml; using DictionaryManager = System.IdentityModel.DictionaryManager; using ISecurityElement = System.IdentityModel.ISecurityElement; abstract class SecurityHeader : MessageHeader { readonly string actor; readonly SecurityAlgorithmSuite algorithmSuite; bool encryptedKeyContainsReferenceList = true; Message message; readonly bool mustUnderstand; readonly bool relay; bool requireMessageProtection = true; bool processingStarted; bool maintainSignatureConfirmationState; readonly SecurityStandardsManager standardsManager; MessageDirection transferDirection; SecurityHeaderLayout layout = SecurityHeaderLayout.Strict; public SecurityHeader(Message message, string actor, bool mustUnderstand, bool relay, SecurityStandardsManager standardsManager, SecurityAlgorithmSuite algorithmSuite, MessageDirection transferDirection) { if (message == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("message"); } if (actor == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("actor"); } if (standardsManager == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("standardsManager"); } if (algorithmSuite == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("algorithmSuite"); } this.message = message; this.actor = actor; this.mustUnderstand = mustUnderstand; this.relay = relay; this.standardsManager = standardsManager; this.algorithmSuite = algorithmSuite; this.transferDirection = transferDirection; } public override string Actor { get { return this.actor; } } public SecurityAlgorithmSuite AlgorithmSuite { get { return this.algorithmSuite; } } public bool EncryptedKeyContainsReferenceList { get { return this.encryptedKeyContainsReferenceList; } set { ThrowIfProcessingStarted(); this.encryptedKeyContainsReferenceList = value; } } public bool RequireMessageProtection { get { return this.requireMessageProtection; } set { ThrowIfProcessingStarted(); this.requireMessageProtection = value; } } public bool MaintainSignatureConfirmationState { get { return this.maintainSignatureConfirmationState; } set { ThrowIfProcessingStarted(); this.maintainSignatureConfirmationState = value; } } protected Message Message { get { return this.message; } set { this.message = value; } } public override bool MustUnderstand { get { return this.mustUnderstand; } } public override bool Relay { get { return this.relay; } } public SecurityHeaderLayout Layout { get { return this.layout; } set { ThrowIfProcessingStarted(); this.layout = value; } } public SecurityStandardsManager StandardsManager { get { return this.standardsManager; } } public MessageDirection MessageDirection { get { return this.transferDirection; } } protected MessageVersion Version { get { return this.message.Version; } } protected void SetProcessingStarted() { this.processingStarted = true; } protected void ThrowIfProcessingStarted() { if (this.processingStarted) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.OperationCannotBeDoneAfterProcessingIsStarted))); } } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "{0}(Actor = '{1}')", GetType().Name, this.Actor); } } } // 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
- DataRelationPropertyDescriptor.cs
- _UriTypeConverter.cs
- SimpleType.cs
- DBNull.cs
- ChannelTracker.cs
- MessageSmuggler.cs
- ColumnWidthChangedEvent.cs
- Emitter.cs
- RemotingServices.cs
- XPathNavigatorReader.cs
- MonthCalendar.cs
- GPStream.cs
- DragCompletedEventArgs.cs
- SqlNamer.cs
- AddIn.cs
- ThreadSafeList.cs
- ImageMap.cs
- BindingWorker.cs
- TransportBindingElement.cs
- ServiceDesigner.cs
- SecurityResources.cs
- KeyedCollection.cs
- IgnoreSectionHandler.cs
- ChameleonKey.cs
- ProgressBar.cs
- DataContractSet.cs
- MsmqBindingElementBase.cs
- PolyBezierSegment.cs
- EntityDataSourceReferenceGroup.cs
- PriorityBinding.cs
- RoleExceptions.cs
- LinqTreeNodeEvaluator.cs
- ReferenceSchema.cs
- MessageTraceRecord.cs
- Closure.cs
- PaintEvent.cs
- ByteStreamMessage.cs
- CodePrimitiveExpression.cs
- X509ChainPolicy.cs
- GCHandleCookieTable.cs
- PackWebRequestFactory.cs
- NullReferenceException.cs
- AccessibleObject.cs
- ProxyManager.cs
- Axis.cs
- EventlogProvider.cs
- XmlSchemaComplexType.cs
- OdbcDataAdapter.cs
- WindowsEditBox.cs
- CSharpCodeProvider.cs
- assertwrapper.cs
- Trace.cs
- Thread.cs
- httpstaticobjectscollection.cs
- VarRefManager.cs
- InputDevice.cs
- DocumentReference.cs
- DesignerSelectionListAdapter.cs
- _IPv4Address.cs
- UserNamePasswordValidator.cs
- StatusBar.cs
- AppDomainUnloadedException.cs
- SqlReferenceCollection.cs
- BasicHttpMessageSecurityElement.cs
- Int32Storage.cs
- WindowsPrincipal.cs
- keycontainerpermission.cs
- CompositeFontInfo.cs
- AsymmetricSecurityProtocol.cs
- Facet.cs
- XsdSchemaFileEditor.cs
- TrustManagerPromptUI.cs
- CharConverter.cs
- KeyBinding.cs
- ObjectComplexPropertyMapping.cs
- BinaryConverter.cs
- SchemaMapping.cs
- ListSourceHelper.cs
- Floater.cs
- _Events.cs
- SecurityRuntime.cs
- Byte.cs
- SchemaInfo.cs
- TextComposition.cs
- MailAddressParser.cs
- Scalars.cs
- ManagementEventArgs.cs
- SqlMethods.cs
- TextServicesDisplayAttribute.cs
- SystemIPv6InterfaceProperties.cs
- FormatterServicesNoSerializableCheck.cs
- TextEditorLists.cs
- DebugHandleTracker.cs
- MultiAsyncResult.cs
- path.cs
- returneventsaver.cs
- TextPenaltyModule.cs
- LicenseProviderAttribute.cs
- TypefaceMap.cs
- CodeRemoveEventStatement.cs