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
- FamilyMapCollection.cs
- MailBnfHelper.cs
- SkinIDTypeConverter.cs
- CompositionDesigner.cs
- xamlnodes.cs
- ResolveMatchesMessageCD1.cs
- DesignerSerializationVisibilityAttribute.cs
- ReservationNotFoundException.cs
- RegisteredArrayDeclaration.cs
- BodyWriter.cs
- ProfileInfo.cs
- TemplateInstanceAttribute.cs
- DataGridViewLayoutData.cs
- OutKeywords.cs
- MenuItem.cs
- XmlElementAttributes.cs
- UITypeEditor.cs
- LockedAssemblyCache.cs
- RadioButtonFlatAdapter.cs
- DeclarativeCatalogPartDesigner.cs
- LinqDataView.cs
- WebBaseEventKeyComparer.cs
- UpdateCompiler.cs
- ConstructorNeedsTagAttribute.cs
- TranslateTransform.cs
- CompilerResults.cs
- EntityDesignerUtils.cs
- Rss20ItemFormatter.cs
- HierarchicalDataBoundControl.cs
- NavigationCommands.cs
- TargetPerspective.cs
- ArgumentException.cs
- AtomicFile.cs
- SAPIEngineTypes.cs
- DefaultBindingPropertyAttribute.cs
- BuilderPropertyEntry.cs
- DataGridViewHeaderCell.cs
- EntityViewGenerationAttribute.cs
- CodeTypeOfExpression.cs
- XmlNavigatorFilter.cs
- HtmlElementCollection.cs
- ListViewItem.cs
- SaveWorkflowAsyncResult.cs
- DataContractSerializerFaultFormatter.cs
- TrackingParameters.cs
- TwoPhaseCommit.cs
- SymbolResolver.cs
- TableCellsCollectionEditor.cs
- WindowsBrush.cs
- StorageTypeMapping.cs
- Compensation.cs
- Pen.cs
- DbParameterCollectionHelper.cs
- WsatServiceCertificate.cs
- ApplicationContext.cs
- SelectorItemAutomationPeer.cs
- RecordManager.cs
- FixedPage.cs
- EntityStoreSchemaFilterEntry.cs
- CqlGenerator.cs
- CharUnicodeInfo.cs
- FixedStringLookup.cs
- Vector3DIndependentAnimationStorage.cs
- RegexRunner.cs
- DocumentOrderComparer.cs
- SignedPkcs7.cs
- AuthenticationModuleElementCollection.cs
- RTLAwareMessageBox.cs
- LocatorBase.cs
- ResXResourceWriter.cs
- Point.cs
- TypeInitializationException.cs
- Currency.cs
- CustomError.cs
- RectAnimationBase.cs
- SqlDataSourceFilteringEventArgs.cs
- FontClient.cs
- XPathScanner.cs
- HandlerBase.cs
- ParseHttpDate.cs
- TextTreeInsertUndoUnit.cs
- MapPathBasedVirtualPathProvider.cs
- ControlParser.cs
- RotateTransform3D.cs
- Matrix3D.cs
- ToolStripDesignerAvailabilityAttribute.cs
- AQNBuilder.cs
- HashCodeCombiner.cs
- HitTestDrawingContextWalker.cs
- XmlSchemaValidator.cs
- RtfToken.cs
- ShortcutKeysEditor.cs
- Binding.cs
- hresults.cs
- Help.cs
- PolyBezierSegment.cs
- RequestCache.cs
- HotSpotCollectionEditor.cs
- XhtmlBasicSelectionListAdapter.cs
- UnsettableComboBox.cs