HttpWebClientProtocolmarshal by reference, disposable

System.Web.Services.Protocols ( class

This abstract base class provides basic functionality for communication between a web service and proxy class. The System.Web.Services.Discovery.DiscoveryClientProtocol, HttpSimpleClientProtocol, and SoapHttpClientProtocol classes all inherit from HttpWebClientProtocol. The proxy class inherits from one of these derived classes, depending on which transmission protocol it uses.

You can use the Proxy property to connect to a web service through a firewall, as in WS.Proxy = New WebProxy("http://proxyserver:80", True). This property will override the computer's default Internet settings. You can also set the AllowAutoRedirect property to allow a client to follow server redirects. This is False by default for security reasons. The UserAgent property is automatically set to something like "MS Web Services Client Protocol 1.0.2509.0," where 1.0.2509.0 is the Common Language Runtime version.

The CookieContainer property is important when connecting to a web service that uses ASP.NET's session state facility. To allow a proxy class to reuse the same session on subsequent calls, you must explicitly create a new (empty) System.Net.CookieContainer object and assign it to the CookieContainer property. This allows the proxy class to store the session cookie with each call. If you want multiple proxy class instances to access the same session, or if you want to recreate a proxy class and use a previous session that has not yet timed out, you must take extra steps to transfer or store the System.Net.CookieContainer object.

public abstract class HttpWebClientProtocol : WebClientProtocol {
// Protected Constructors
   protected HttpWebClientProtocol( );
// Public Instance Properties
   public bool AllowAutoRedirect{set; get; }
   public X509CertificateCollection ClientCertificates{get; }
   public CookieContainer CookieContainer{set; get; }
   public IWebProxy Proxy{set; get; }
   public bool UnsafeAuthenticatedConnectionSharing{set; get; }
   public string UserAgent{set; get; }
// Protected Instance Methods
   protected override WebRequest GetWebRequest(Uri uri);        // overrides WebClientProtocol
   protected override WebResponse GetWebResponse(System.Net.WebRequest request); // overrides WebClientProtocol
   protected override WebResponse GetWebResponse(System.Net.WebRequest request, 
        IAsyncResult result);// overrides WebClientProtocol


System.Object System.MarshalByRefObject System.ComponentModel.Component(System.ComponentModel.IComponent, System.IDisposable) WebClientProtocol HttpWebClientProtocol


HttpSimpleClientProtocol, SoapHttpClientProtocol, System.Web.Services.Discovery.DiscoveryClientProtocol

    Part I: Introduction to ASP.NET
    Part III: Namespace Reference
    Chapter 40. The System.Web.UI.MobileControls Namespace
    Chapter 42. The System.Web.UI.WebControls Namespace