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
- AttachedPropertyBrowsableAttribute.cs
- XamlReaderHelper.cs
- SqlCacheDependency.cs
- SHA256Managed.cs
- GlobalizationSection.cs
- SendingRequestEventArgs.cs
- SimpleFieldTemplateFactory.cs
- PenContext.cs
- _Semaphore.cs
- RoleServiceManager.cs
- DynamicResourceExtensionConverter.cs
- CompensatableTransactionScopeActivityDesigner.cs
- ConfigurationConverterBase.cs
- EventLog.cs
- filewebrequest.cs
- ZipIOLocalFileBlock.cs
- ScaleTransform.cs
- FileFormatException.cs
- ApplicationDirectoryMembershipCondition.cs
- LineGeometry.cs
- EnvironmentPermission.cs
- VisualBasicExpressionConverter.cs
- ControlCodeDomSerializer.cs
- TriggerCollection.cs
- ConcurrentStack.cs
- HttpClientCertificate.cs
- SerializationObjectManager.cs
- BaseParaClient.cs
- serverconfig.cs
- ThrowHelper.cs
- RelationHandler.cs
- WebControlToolBoxItem.cs
- CompatibleIComparer.cs
- StylusDownEventArgs.cs
- DispatcherExceptionEventArgs.cs
- MarginCollapsingState.cs
- ToolboxItemCollection.cs
- PersonalizationEntry.cs
- BatchServiceHost.cs
- VerticalAlignConverter.cs
- AppDomainGrammarProxy.cs
- ExpressionBindings.cs
- StickyNoteAnnotations.cs
- TraceUtility.cs
- AdapterUtil.cs
- DataGridToolTip.cs
- WebRequestModuleElement.cs
- ConstructorBuilder.cs
- SqlUserDefinedAggregateAttribute.cs
- LocalizeDesigner.cs
- CompModSwitches.cs
- HebrewNumber.cs
- SmtpLoginAuthenticationModule.cs
- BitStack.cs
- StrokeRenderer.cs
- BuildManagerHost.cs
- _Events.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- ArglessEventHandlerProxy.cs
- ScopeCollection.cs
- Light.cs
- SmiRecordBuffer.cs
- ExpandCollapsePattern.cs
- PhysicalOps.cs
- TextFormatter.cs
- BaseConfigurationRecord.cs
- ThreadStateException.cs
- HtmlWindowCollection.cs
- TableStyle.cs
- TreeBuilderXamlTranslator.cs
- newitemfactory.cs
- ApplyTemplatesAction.cs
- CleanUpVirtualizedItemEventArgs.cs
- RTLAwareMessageBox.cs
- SupportingTokenBindingElement.cs
- GeneralTransform3D.cs
- SafeFileHandle.cs
- Cloud.cs
- RenderDataDrawingContext.cs
- BinHexEncoder.cs
- PoisonMessageException.cs
- IPHostEntry.cs
- ProcessingInstructionAction.cs
- AnnotationResourceCollection.cs
- CompilationLock.cs
- ImageBrush.cs
- DataObjectAttribute.cs
- ListViewInsertionMark.cs
- CodeEntryPointMethod.cs
- MenuEventArgs.cs
- WorkflowInlining.cs
- ContactManager.cs
- TCPListener.cs
- SqlAliaser.cs
- WebRequestModulesSection.cs
- LocalIdKeyIdentifierClause.cs
- bidPrivateBase.cs
- DataError.cs
- TaiwanCalendar.cs
- PropertyValueUIItem.cs