WebHttpSecurity.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / WebHttpSecurity.cs / 1305376 / WebHttpSecurity.cs

                            //------------------------------------------------------------ 
// Copyright (c) Microsoft Corporation.  All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel
{ 
    using System.Runtime;
    using System.ServiceModel.Channels; 
    using System.ComponentModel; 

    public sealed class WebHttpSecurity 
    {
        internal const WebHttpSecurityMode DefaultMode = WebHttpSecurityMode.None;
        WebHttpSecurityMode mode;
        HttpTransportSecurity transportSecurity; 
        bool isModeSet;
 
        public WebHttpSecurity() 
        {
            this.transportSecurity = new HttpTransportSecurity(); 
        }

        public WebHttpSecurityMode Mode
        { 
            get { return this.mode; }
            set 
            { 
                if (!WebHttpSecurityModeHelper.IsDefined(value))
                { 
                    throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value"));
                }
                this.mode = value;
                this.isModeSet = true; 
            }
        } 
 
        internal bool IsModeSet
        { 
            get { return this.isModeSet; }
        }

        public HttpTransportSecurity Transport 
        {
            get { return this.transportSecurity; } 
            set 
            {
                this.transportSecurity = (value == null) ? new HttpTransportSecurity() : value; 
            }
        }

        internal void DisableTransportAuthentication(HttpTransportBindingElement http) 
        {
            this.transportSecurity.DisableTransportAuthentication(http); 
        } 

        internal void EnableTransportAuthentication(HttpTransportBindingElement http) 
        {
            this.transportSecurity.ConfigureTransportAuthentication(http);
        }
 
        internal void EnableTransportSecurity(HttpsTransportBindingElement https)
        { 
            this.transportSecurity.ConfigureTransportProtectionAndAuthentication(https); 
        }
 
        internal bool InternalShouldSerialize()
        {
            return this.ShouldSerializeMode()
                || this.ShouldSerializeTransport(); 
        }
 
        [EditorBrowsable(EditorBrowsableState.Never)] 
        public bool ShouldSerializeMode()
        { 
            return this.Mode != DefaultMode;
        }

        [EditorBrowsable(EditorBrowsableState.Never)] 
        public bool ShouldSerializeTransport()
        { 
            return this.Transport.InternalShouldSerialize(); 
        }
 

    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK