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 | |
---|---|---|
CookieContainer | Initializes a new instance of the CookieContainer class. |
Top
Properties
Name | Description | |
---|---|---|
Capacity | Gets the number of Cookie objects this CookieContainer can contain. | |
Count | Gets the number of Cookie objects this CookieContainer contains. | |
MaxCookieSize | Gets the maximum cookie length for cookies in the CookieContainer. | |
PerDomainCapacity | Gets and sets the number of Cookie instances that a CookieContainer can hold per domain. |
Top
Methods
Name | Description | |
---|---|---|
Add(Uri, Cookie) | Adds the specified Cookie with the specified Uniform Resource Identifier (URI) to this CookieContainer. | |
Add(Uri, CookieCollection) | Adds the contents of the specified CookieCollection with the specified Uniform Resource Identifier (URI) to this CookieContainer. | |
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
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.) | |
GetCookieHeader | Gets the HTTP cookie header that contains cookies pertaining to the specified Uniform Resource Identifier (URI). | |
GetCookies | Gets the CookieCollection associated with the specified Uniform Resource Identifier (URI). | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
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). | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Fields
Name | Description | |
---|---|---|
DefaultCookieLengthLimit | Represents the default maximum size, in bytes, of the Cookie objects that the CookieContainer can hold. This field is constant. | |
DefaultCookieLimit | Represents the default maximum number of Cookie objects that the CookieContainer can hold. This field is constant. | |
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.
See Also