CookieContainer Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Provides a container for a collection of CookieCollection objects.

Inheritance Hierarchy

System.Object
  System.Net.CookieContainer

Namespace:  System.Net
Assembly:  System.Net (in System.Net.dll)

Syntax

'Declaration
Public NotInheritable Class CookieContainer
public sealed class CookieContainer

The CookieContainer type exposes the following members.

Constructors

  Name Description
Public methodSupported by Silverlight for Windows Phone CookieContainer Initializes a new instance of the CookieContainer class.

Top

Properties

  Name Description
Public propertySupported by Silverlight for Windows Phone Capacity Gets the number of Cookie objects this CookieContainer can contain.
Public propertySupported by Silverlight for Windows Phone Count Gets the number of Cookie objects this CookieContainer contains.
Public propertySupported by Silverlight for Windows Phone MaxCookieSize Gets the maximum cookie length for cookies in the CookieContainer.
Public propertySupported by Silverlight for Windows Phone PerDomainCapacity Gets and sets the number of Cookie instances that a CookieContainer can hold per domain.

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows Phone Add(Uri, Cookie) Adds the specified Cookie with the specified Uniform Resource Identifier (URI) to this CookieContainer.
Public methodSupported by Silverlight for Windows Phone Add(Uri, CookieCollection) Adds the contents of the specified CookieCollection with the specified Uniform Resource Identifier (URI) to this CookieContainer.
Public methodSupported by Silverlight for Windows Phone Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetCookieHeader Gets the HTTP cookie header that contains cookies pertaining to the specified Uniform Resource Identifier (URI).
Public methodSupported by Silverlight for Windows Phone GetCookies Gets the CookieCollection associated with the specified Uniform Resource Identifier (URI).
Public methodSupported by Silverlight for Windows Phone GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone GetType Gets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows Phone MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows Phone SetCookies Creates cookie instances for the cookies specified in the HTTP cookie header and adds them to the CookieContainer associated with the specified Uniform Resource Identifier (URI).
Public methodSupported by Silverlight for Windows Phone ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Fields

  Name Description
Public fieldStatic memberSupported by Silverlight for Windows Phone DefaultCookieLengthLimit Represents the default maximum size, in bytes, of the Cookie objects that the CookieContainer can hold. This field is constant.
Public fieldStatic memberSupported by Silverlight for Windows Phone DefaultCookieLimit Represents the default maximum number of Cookie objects that the CookieContainer can hold. This field is constant.
Public fieldStatic memberSupported by Silverlight for Windows Phone DefaultPerDomainCookieLimit Represents the default maximum number of Cookie objects that the CookieContainer can reference per domain. This field is constant.

Top

Remarks

A CookieContainer provides storage for CookieCollection objects on HttpWebRequest objects through the HttpWebRequest.CookieContainer property. The CookieContainer creates an internal CookieCollection to store cookies associated with a particular Uniform Resource Identifier (URI). A Cookie is retrieved from the container based on its URI as a CookieCollection, or as a string that can be used to submit with HTTP requests.

You must always create a CookieContainer to send with a request if you want cookies to be returned on the response. This is also true for HTTPOnly cookies, which you cannot retrieve.

The CookieContainer has three properties that specify the volume of the content of the container: Capacity, MaxCookieSize, and PerDomainCapacity. These properties have the default values of 300, 4096, and 20 respectively. When a Cookie is added to the container, these properties are used to determine whether a Cookie is already contained in the CookieContainer and whether one or more Cookie objects should be discarded to make room for the new one. The CookieContainer keeps track of each addition to make sure that neither the CookieContainer nor the PerDomainCapacity limits are exceeded. If one or both are exceeded, then Cookie instances held by the CookieContainer are removed. First, any expired Cookie is removed. If additional capacity must be recaptured, then the least-recently-used CookieCollection is purged. If you attempt to add a cookie that already exists, that cookie will be overwritten.

Examples

The following example shows how to use the Add method.

request.CookieContainer.Add(New Uri("http://api.search.live.net"), _
    New Cookie("id", "1234"))
request.CookieContainer.Add(new Uri("http://api.search.live.net"),
    new Cookie("id", "1234"));

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.