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
- DataGridViewButtonColumn.cs
- DateTimeConverter2.cs
- RegexCapture.cs
- Vector3D.cs
- XamlStream.cs
- Timer.cs
- BadImageFormatException.cs
- Membership.cs
- InlinedAggregationOperator.cs
- XmlSchemaComplexType.cs
- MemberPath.cs
- WebPartDeleteVerb.cs
- TableCellCollection.cs
- FixedStringLookup.cs
- DesignerLoader.cs
- SimpleBitVector32.cs
- TracingConnectionInitiator.cs
- ManipulationDevice.cs
- LeaseManager.cs
- SatelliteContractVersionAttribute.cs
- BasicBrowserDialog.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- DesignerHierarchicalDataSourceView.cs
- DateTimeParse.cs
- Registry.cs
- TriState.cs
- precedingsibling.cs
- SapiAttributeParser.cs
- HtmlButton.cs
- RemotingServices.cs
- UTF32Encoding.cs
- ProxyWebPart.cs
- FatalException.cs
- ReferenceSchema.cs
- ColumnWidthChangingEvent.cs
- PropertyItem.cs
- XPathBuilder.cs
- UrlMappingsSection.cs
- altserialization.cs
- DeadCharTextComposition.cs
- FixedPageAutomationPeer.cs
- DataContractSet.cs
- XmlSchemaParticle.cs
- DataBoundControlHelper.cs
- WebServiceEndpoint.cs
- IWorkflowDebuggerService.cs
- Int16KeyFrameCollection.cs
- CommonDialog.cs
- WhitespaceSignificantCollectionAttribute.cs
- RectangleConverter.cs
- DomNameTable.cs
- WriteStateInfoBase.cs
- SchemaElement.cs
- SecureConversationServiceCredential.cs
- PathSegmentCollection.cs
- HtmlToClrEventProxy.cs
- TextWriter.cs
- QilLoop.cs
- TextEndOfLine.cs
- ViewBox.cs
- HealthMonitoringSection.cs
- manifestimages.cs
- FontFamilyIdentifier.cs
- CatalogZoneBase.cs
- IFormattable.cs
- FocusTracker.cs
- TableLayoutStyleCollection.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- XmlCharacterData.cs
- ValueTable.cs
- EntityObject.cs
- CreateUserWizard.cs
- CompositeCollection.cs
- Matrix3D.cs
- PauseStoryboard.cs
- InstanceOwnerQueryResult.cs
- ComplexPropertyEntry.cs
- PackageProperties.cs
- parserscommon.cs
- Int32Converter.cs
- StyleSheetRefUrlEditor.cs
- LinqDataSourceEditData.cs
- NameTable.cs
- ListViewItem.cs
- KeyValuePairs.cs
- ClickablePoint.cs
- XmlTypeMapping.cs
- SamlAttributeStatement.cs
- BindingSource.cs
- DataGridViewAdvancedBorderStyle.cs
- InstanceNotFoundException.cs
- DbConnectionHelper.cs
- IsolatedStorageException.cs
- AuthenticationConfig.cs
- DesignerListAdapter.cs
- DataGridViewRowStateChangedEventArgs.cs
- EmbeddedObject.cs
- Int32Collection.cs
- Accessible.cs
- GenericsInstances.cs