1 out of 6 rated this helpful - Rate this topic

CookieContainer Class

Provides a container for a collection of CookieCollection objects.

System.Object
  System.Net.CookieContainer

Namespace:  System.Net
Assembly:  System (in System.dll)
[SerializableAttribute]
public class CookieContainer

The CookieContainer type exposes the following members.

  Name Description
Public method Supported by Portable Class Library CookieContainer() Initializes a new instance of the CookieContainer class.
Public method CookieContainer(Int32) Initializes a new instance of the CookieContainer class with a specified value for the number of Cookie instances that the container can hold.
Public method CookieContainer(Int32, Int32, Int32) Initializes a new instance of the CookieContainer class with specific properties.
Top
  Name Description
Public property Supported by Portable Class Library Capacity Gets and sets the number of Cookie instances that a CookieContainer can hold.
Public property Supported by Portable Class Library Count Gets the number of Cookie instances that a CookieContainer currently holds.
Public property Supported by Portable Class Library MaxCookieSize Represents the maximum allowed length of a Cookie.
Public property Supported by Portable Class Library PerDomainCapacity Gets and sets the number of Cookie instances that a CookieContainer can hold per domain.
Top
  Name Description
Public method Add(Cookie) Adds a Cookie to a CookieContainer. This method uses the domain from the Cookie to determine which domain collection to associate the Cookie with.
Public method Add(CookieCollection) Adds the contents of a CookieCollection to the CookieContainer.
Public method Supported by Portable Class Library Add(Uri, Cookie) Adds a Cookie to the CookieContainer for a particular URI.
Public method Supported by Portable Class Library Add(Uri, CookieCollection) Adds the contents of a CookieCollection to the CookieContainer for a particular URI.
Public method Supported by Portable Class Library Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Supported by Portable Class Library Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Supported by Portable Class Library GetCookieHeader Gets the HTTP cookie header that contains the HTTP cookies that represent the Cookie instances that are associated with a specific URI.
Public method Supported by Portable Class Library GetCookies Gets a CookieCollection that contains the Cookie instances that are associated with a specific URI.
Public method Supported by Portable Class Library GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method Supported by Portable Class Library GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method Supported by Portable Class Library MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Supported by Portable Class Library SetCookies Adds Cookie instances for one or more cookies from an HTTP cookie header to the CookieContainer for a specific URI.
Public method Supported by Portable Class Library ToString Returns a string that represents the current object. (Inherited from Object.)
Top
  Name Description
Public field Static member Supported by Portable Class Library DefaultCookieLengthLimit Represents the default maximum size, in bytes, of the Cookie instances that the CookieContainer can hold. This field is constant.
Public field Static member Supported by Portable Class Library DefaultCookieLimit Represents the default maximum number of Cookie instances that the CookieContainer can hold. This field is constant.
Public field Static member Supported by Portable Class Library DefaultPerDomainCookieLimit Represents the default maximum number of Cookie instances that the CookieContainer can reference per domain. This field is constant.
Top

A CookieContainer is a data structure that provides storage for instances of the Cookie class, and which is accessed in a database-like manner. The CookieContainer has a capacity limit that is set when the container is created or changed by a property.

An instance of the Cookie class is added to the container based on its originating URI. It is added to an internal CookieCollection associated with the URI. A Cookie is retrieved from the container based on the URI as a CookieCollection, or as a string that can be used to submit HTTP WebRequests.

The CookieContainer has three properties that govern the volume of the content of the container: Capacity, MaxCookieSize, and PerDomainCapacity. These values have the default settings of 300, 4096, and 20 respectively. When a Cookie is added to the container, these properties are used to determine whether a Cookie already contained in the CookieContainer should be discarded to make room for the new one. The CookieContainer keeps track of each addition to ensure that neither the Capacity 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 further capacity must be recaptured, then the least-recently used CookieCollection is purged.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ