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
- HttpResponseMessageProperty.cs
- TokenBasedSetEnumerator.cs
- ExpandedWrapper.cs
- WebPartVerb.cs
- EmissiveMaterial.cs
- ExpressionBuilder.cs
- TextBoxAutomationPeer.cs
- CodeGeneratorOptions.cs
- CancelEventArgs.cs
- SetStoryboardSpeedRatio.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- FontConverter.cs
- BinaryWriter.cs
- FileAuthorizationModule.cs
- Events.cs
- PriorityQueue.cs
- InstalledVoice.cs
- ArrayWithOffset.cs
- StrongNameUtility.cs
- GeneralTransformGroup.cs
- DbProviderFactoriesConfigurationHandler.cs
- BinaryWriter.cs
- UxThemeWrapper.cs
- RoleService.cs
- serverconfig.cs
- ImageSource.cs
- DBDataPermissionAttribute.cs
- StrongNameMembershipCondition.cs
- WindowAutomationPeer.cs
- HtmlElementErrorEventArgs.cs
- DeploymentSection.cs
- XsdDataContractImporter.cs
- PrintDocument.cs
- CalendarSelectionChangedEventArgs.cs
- AbandonedMutexException.cs
- _UriTypeConverter.cs
- XmlImplementation.cs
- KeyEvent.cs
- TextFragmentEngine.cs
- ListBindingHelper.cs
- SubMenuStyle.cs
- CacheModeConverter.cs
- DBSchemaTable.cs
- SplashScreen.cs
- DependencyPropertyAttribute.cs
- LayoutEvent.cs
- TypeUnloadedException.cs
- X509CertificateChain.cs
- TextAction.cs
- File.cs
- SerializeAbsoluteContext.cs
- SqlBulkCopyColumnMappingCollection.cs
- StylusButtonCollection.cs
- ListenerSessionConnectionReader.cs
- Lasso.cs
- TemplateControl.cs
- X509CertificateInitiatorClientCredential.cs
- SqlDataSourceStatusEventArgs.cs
- SoapAttributeOverrides.cs
- X509ThumbprintKeyIdentifierClause.cs
- ObjectDataSourceSelectingEventArgs.cs
- DataGridViewImageCell.cs
- DocumentPageTextView.cs
- HyperLinkField.cs
- KeyedCollection.cs
- ExternalException.cs
- InputLanguage.cs
- Point3DAnimationBase.cs
- ReflectionHelper.cs
- OracleConnection.cs
- XmlnsDefinitionAttribute.cs
- DataSvcMapFileSerializer.cs
- LabelExpression.cs
- SupportingTokenAuthenticatorSpecification.cs
- DesignTimeXamlWriter.cs
- MediaContext.cs
- XmlNotation.cs
- Clock.cs
- SHA256.cs
- StreamSecurityUpgradeAcceptor.cs
- ValidationSummary.cs
- DirtyTextRange.cs
- FrameworkElementFactory.cs
- BindValidator.cs
- TextElementEnumerator.cs
- MimeObjectFactory.cs
- HijriCalendar.cs
- DocumentGridContextMenu.cs
- ServiceMetadataExtension.cs
- SafeLocalMemHandle.cs
- MarshalByRefObject.cs
- IDQuery.cs
- DiscoveryReferences.cs
- JobStaple.cs
- LoadedOrUnloadedOperation.cs
- SynchronizingStream.cs
- SoapMessage.cs
- DesignerSerializationVisibilityAttribute.cs
- PolyLineSegmentFigureLogic.cs
- CancelEventArgs.cs