CookieContainer 类

定义

为对象的集合 CookieCollection 提供容器。

public ref class CookieContainer
public ref class CookieContainer sealed
public class CookieContainer
[System.Serializable]
public class CookieContainer
public sealed class CookieContainer
type CookieContainer = class
[<System.Serializable>]
type CookieContainer = class
Public Class CookieContainer
Public NotInheritable Class CookieContainer
继承
CookieContainer
属性

注解

它是 CookieContainer 一种数据结构,它为类的 Cookie 实例提供存储,并以类似数据库的方式进行访问。 具有 CookieContainer 容量限制,该限制是在属性创建或更改容器时设置的。

类的 Cookie 实例将基于其原始 URI 添加到容器中。 它被添加到与 URI 关联的内部 CookieCollection 。 根据 URI CookieCollection或可用于提交 HTTP WebRequests 的字符串从容器中检索 ACookie

CookieContainer 三个属性用于控制容器内容的卷: CapacityMaxCookieSizePerDomainCapacity。 这些值分别具有 300、4096 和 20 的默认设置。 将 a Cookie 添加到容器时,这些属性用于确定是否应放弃已包含在容器CookieContainer中的属性Cookie,以便为新容器腾出空间。 跟踪CookieContainer每个添加项,以确保既没有超出限制,PerDomainCapacity也没有Capacity超出限制。 如果超过一个或两者,则 Cookie 删除由该实例保留的 CookieContainer 实例。 首先,删除任何过期 Cookie 。 如果必须重新捕获更多容量,则会清除最近使用 CookieCollection 最少的容量。

线程安全性

向/从CookieContainer中添加和检索Cookie实例的方法是线程安全的,可从多个线程并发使用。

注释

无论线程安全性如何,意外的实例共享 CookieContainer 都可能导致使用 HttpClient 时出现问题 HttpClientHandler ,或者 SocketsHttpHandler,因为不打算彼此共享 Cookie 的应用程序的某些部分可能会无意中这样做。 不建议将 Cookie 与 IHttpClientFactory.

构造函数

名称 说明
CookieContainer()

初始化 CookieContainer 类的新实例。

CookieContainer(Int32, Int32, Int32)

使用特定属性初始化类的新实例 CookieContainer

CookieContainer(Int32)

使用容器可以保存的Cookie实例数指定值初始化类的新实例CookieContainer

字段

名称 说明
DefaultCookieLengthLimit

表示可以保存的实例CookieContainer的默认最大大小(以字节为单位Cookie)。 此字段为常量。

DefaultCookieLimit

表示可以保留的默认最大实例CookieContainerCookie。 此字段为常量。

DefaultPerDomainCookieLimit

表示每个域可以引用的默认最大实例CookieContainerCookie。 此字段为常量。

属性

名称 说明
Capacity

获取或设置可以保存的 Cookie 实例 CookieContainer 数。

Count

获取当前保留的 Cookie 实例 CookieContainer 数。

MaxCookieSize

表示允许的最大长度 Cookie

PerDomainCapacity

获取或设置每个域可以保留的 Cookie 实例 CookieContainer 数。

方法

名称 说明
Add(Cookie)

将 a Cookie 添加到 .CookieContainer 此方法使用域从 Cookie 中确定要与之关联的 Cookie 域集合。

Add(CookieCollection)

将 a CookieCollection 的内容添加到 .CookieContainer

Add(Uri, Cookie)

向特定 URI 添加 a CookieCookieContainer

Add(Uri, CookieCollection)

将 a CookieCollection 的内容添加到 CookieContainer 特定 URI 中。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetCookieHeader(Uri)

获取包含 HTTP Cookie 的 HTTP Cookie 标头,这些 COOKIE 表示 Cookie 与特定 URI 关联的实例。

GetCookies(Uri)

获取一个 CookieCollection 包含 Cookie 与特定 URI 关联的实例。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
SetCookies(Uri, String)

将一个或多个 Cookie 的实例从 HTTP Cookie 标头添加到CookieCookieContainer特定 URI。

ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅