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
- HttpClientCertificate.cs
- BitmapEffect.cs
- AsyncDataRequest.cs
- CategoryGridEntry.cs
- IntegerValidator.cs
- PassportPrincipal.cs
- Encoder.cs
- ElementsClipboardData.cs
- DataGridViewCellPaintingEventArgs.cs
- ClientRuntimeConfig.cs
- CheckBox.cs
- XmlValidatingReader.cs
- MenuItemStyleCollection.cs
- ToolTip.cs
- InvokeMethod.cs
- XpsSerializerWriter.cs
- shaperfactoryquerycacheentry.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- Coordinator.cs
- DataBindingExpressionBuilder.cs
- DBConcurrencyException.cs
- HwndTarget.cs
- XappLauncher.cs
- Random.cs
- OracleDataReader.cs
- ComponentResourceKey.cs
- SecurityContextSecurityTokenResolver.cs
- StyleBamlRecordReader.cs
- Thumb.cs
- PageCodeDomTreeGenerator.cs
- PrinterResolution.cs
- SelectionPattern.cs
- SqlPersonalizationProvider.cs
- UserUseLicenseDictionaryLoader.cs
- QilCloneVisitor.cs
- CodeValidator.cs
- ProvideValueServiceProvider.cs
- MutableAssemblyCacheEntry.cs
- Container.cs
- TextTrailingCharacterEllipsis.cs
- ClientUtils.cs
- TraceLog.cs
- RepeaterItem.cs
- PropertyValidationContext.cs
- PermissionRequestEvidence.cs
- Roles.cs
- XPathMultyIterator.cs
- RepeatInfo.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- errorpatternmatcher.cs
- IItemProperties.cs
- Utils.cs
- PeerInputChannelListener.cs
- TabRenderer.cs
- WhitespaceRuleLookup.cs
- ToolStripDesignerAvailabilityAttribute.cs
- SimpleWorkerRequest.cs
- ConfigurationManagerInternalFactory.cs
- WebUtil.cs
- WsatEtwTraceListener.cs
- ClientUtils.cs
- AnimationException.cs
- RuleProcessor.cs
- ForceCopyBuildProvider.cs
- DefaultParameterValueAttribute.cs
- ThemeDirectoryCompiler.cs
- InputGestureCollection.cs
- QuaternionConverter.cs
- DropShadowEffect.cs
- EventLogException.cs
- WmfPlaceableFileHeader.cs
- FormViewPageEventArgs.cs
- DataGridTableCollection.cs
- DataGridRowHeader.cs
- ClassDataContract.cs
- ClosableStream.cs
- FixedSOMTable.cs
- TreeNodeCollection.cs
- ErrorTableItemStyle.cs
- BinaryCommonClasses.cs
- CancellationHandler.cs
- EntityModelSchemaGenerator.cs
- MarkupProperty.cs
- KeyValueInternalCollection.cs
- _ConnectionGroup.cs
- EventItfInfo.cs
- ListBoxItemWrapperAutomationPeer.cs
- XmlSchemaException.cs
- QilInvokeLateBound.cs
- FormViewPagerRow.cs
- Compilation.cs
- HScrollProperties.cs
- TrackingProfile.cs
- StatusBarItemAutomationPeer.cs
- ContextInformation.cs
- PerformanceCounterPermissionEntry.cs
- SoapAttributes.cs
- DiscreteKeyFrames.cs
- PageSetupDialog.cs
- regiisutil.cs