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 ...

Get ASP.NET in a Nutshell now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.