CookieContainer 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为对象的集合 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 三个属性用于控制容器内容的卷: Capacity、 MaxCookieSize和 PerDomainCapacity。 这些值分别具有 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 |
表示可以保留的默认最大实例CookieContainer数Cookie。 此字段为常量。 |
| DefaultPerDomainCookieLimit |
表示每个域可以引用的默认最大实例CookieContainer数Cookie。 此字段为常量。 |
属性
| 名称 | 说明 |
|---|---|
| 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) |