a System.Net.CookieContainer
If an XML Web service method uses session state, then a cookie is passed back in the response headers to the XML Web service client that uniquely identifies the session for that XML Web service client. In order for an XML Web service to maintain session state for a client, the client must store the cookie. Clients receive the HTTP cookie by creating a new instance of System.Net.CookieContainer and assigning that to the HttpWebClientProtocol.CookieContainer property of the proxy class before calling the XML Web service method. If you need to maintain session state beyond when the proxy class instance goes out of scope, the client must store the HTTP cookie between calls to the XML Web service. For instance, a Web Forms client can store the HTTP cookie by saving the System.Net.CookieContainer in its own session state. Because not all XML Web services use session state and thus clients are not always required to use the HttpWebClientProtocol.CookieContainer property of a client proxy, the documentation for the XML Web service must state whether session state is used.