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
- HwndHostAutomationPeer.cs
- NotSupportedException.cs
- AxHost.cs
- ArraySegment.cs
- XDeferredAxisSource.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- InvalidProgramException.cs
- DataList.cs
- ResourcePermissionBase.cs
- AnimationTimeline.cs
- XslException.cs
- PrintDocument.cs
- DateTimeStorage.cs
- ListBoxChrome.cs
- CommonEndpointBehaviorElement.cs
- OrderedHashRepartitionEnumerator.cs
- HttpRuntime.cs
- BitmapEffect.cs
- PtsCache.cs
- BufferedStream.cs
- SecurityTokenAuthenticator.cs
- LayoutUtils.cs
- Duration.cs
- ResolveMatchesCD1.cs
- TrackingServices.cs
- RealizationContext.cs
- AndCondition.cs
- PageClientProxyGenerator.cs
- GrammarBuilderBase.cs
- IdentityNotMappedException.cs
- CapabilitiesRule.cs
- DropShadowEffect.cs
- SizeChangedEventArgs.cs
- _ChunkParse.cs
- RenderingEventArgs.cs
- ProfileSettingsCollection.cs
- ExtractorMetadata.cs
- SafeNativeMethods.cs
- BitmapEffectrendercontext.cs
- X509CertificateCollection.cs
- Page.cs
- UInt32Converter.cs
- WindowsHyperlink.cs
- InvalidOperationException.cs
- GACMembershipCondition.cs
- FlowDocumentReaderAutomationPeer.cs
- CodeDOMUtility.cs
- AnnotationMap.cs
- EntityDataSourceStatementEditorForm.cs
- ClientEventManager.cs
- X509SubjectKeyIdentifierClause.cs
- VarRemapper.cs
- IndependentAnimationStorage.cs
- ToolConsole.cs
- ImageDrawing.cs
- IntPtr.cs
- TraceUtility.cs
- DataRowChangeEvent.cs
- StreamGeometry.cs
- CharConverter.cs
- DataSourceSerializationException.cs
- ValidationPropertyAttribute.cs
- SessionSwitchEventArgs.cs
- ProxySimple.cs
- IndexOutOfRangeException.cs
- ConfigurationManagerHelperFactory.cs
- MexHttpsBindingCollectionElement.cs
- ISAPIRuntime.cs
- StackSpiller.Bindings.cs
- TraceInternal.cs
- WebServiceErrorEvent.cs
- TimeoutValidationAttribute.cs
- CriticalHandle.cs
- UnknownWrapper.cs
- DataMemberFieldEditor.cs
- DataGridAutoFormat.cs
- PageSetupDialog.cs
- ActivityPreviewDesigner.cs
- TemplateControlParser.cs
- RenderDataDrawingContext.cs
- LayoutTableCell.cs
- ServiceInfo.cs
- BodyGlyph.cs
- SystemPens.cs
- CommandBindingCollection.cs
- QuerySettings.cs
- GeneralTransform3DTo2D.cs
- EdmPropertyAttribute.cs
- TemplateEditingFrame.cs
- InkCanvasSelection.cs
- ClientSponsor.cs
- _emptywebproxy.cs
- dbenumerator.cs
- ToolboxItemFilterAttribute.cs
- DelegatingMessage.cs
- Win32Exception.cs
- messageonlyhwndwrapper.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- RayMeshGeometry3DHitTestResult.cs
- IsolatedStorage.cs