CookieHandler 類別

定義

提供抽象基底類別,以在 HTTP 用戶端用來讀取、寫入和刪除工作階段 Cookie。

public ref class CookieHandler abstract
public abstract class CookieHandler
type CookieHandler = class
Public MustInherit Class CookieHandler
繼承
CookieHandler
衍生

範例

下列範例會將 SAM 設定為使用 類型的 MyNamespace.MyCustomCookieHandler自訂 Cookie 處理程式。

<cookieHandler mode="Custom">  
    <customCookieHandler type="MyNamespace.MyCustomCookieHandler, MyAssembly" />  
</cookieHandler>  

備註

SessionAuthenticationModule (SAM) 會使用 類別的CookieHandler實例來讀取、寫入和刪除 HTTP 用戶端上包含 SessionSecurityToken 的 Cookie 或 Cookie。 Cookie (或 Cookie,在會話令牌分割成數個 Cookie 的情況下,) 包含會話令牌的 Cookie 稱為會話 Cookie。

Windows Identity Foundation (WIF) 隨附的 Cookie 處理程式,稱為 類別所 ChunkedCookieHandler 實作的區塊 Cookie 處理程式。 區塊化 Cookie 處理程式會根據指定的區塊大小,將會話令牌分割成一或多個 Cookie。 這是為了符合許多瀏覽器所加加的個別 Cookie 大小限制。

您可以從 衍生 CookieHandler 來建立自己的 Cookie 處理程式。 當您這麼做時,必須覆寫 DeleteCoreReadCoreWriteCore 方法來執行刪除、讀取和寫入會話 Cookie 的實際工作。 這些方法通常會從 HttpRequest.Cookies 集合讀取 Cookie,並透過 HttpResponse.Cookies 集合寫入或刪除 Cookie。 HttpContext您可以透過該物件存取要求和回應,做為每個方法的參數。 除了必要的方法之外,您也可以選擇性地覆寫 類別公開 CookieHandler 的其他虛擬方法屬性,以自定義處理程序的行為。

類別會公開數個 CookieHandler 屬性,指定會話 Cookie 的預設行為和屬性。 NameDomainPath 屬性會提供 Cookie 的基底名稱、有效的網域,以及儲存在用戶端上的路徑。 屬性 HideFromClientScript 會指定用戶端文本是否可以存取 Cookie。 屬性 RequireSsl 會指定 Cookie 是否應該只透過安全 (HTTPS) 連線傳輸。 如果設定, PersistentSessionLifetime 則會使用 屬性來設定永續性會話的到期時間,也就是即使瀏覽器關閉之後仍有效的會話也一樣。 所有這些屬性都有對等的屬性,這些屬性通常會由處理程式的“core” 方法 (或物件) 的基礎對象上設定 HttpCookie 。 如需詳細資訊,請參閱每個屬性的檔。

SAM 所使用的 Cookie 處理程式可以透過 cookieHandler> 元素在<組態中指定。 這個元素所設定的 FederatedAuthentication.FederationConfigurationCreated Cookie 處理程式可以在事件委派中修改,也可以透過 SessionAuthenticationModule.CookieHandler 屬性直接設定或存取。

建構函式

CookieHandler()

從衍生類別中的建構函式呼叫,以將 CookieHandler 類別初始化。

屬性

Domain

取得或設定用於 Cookie 的網域。

HideFromClientScript

取得或設定值,指出是否應該對用戶端指令碼隱藏 Cookie。

Name

取得或設定處理常式所寫入的 cookie 的基底名稱。

Path

取得或設定處理常式為 Cookie 寫入的虛擬路徑。

PersistentSessionLifetime

永續性工作階段的存留期。 如果是零,則永遠使用暫時性工作階段。

RequireSsl

取得或設定值,這個值會指定是否只應搭配 SSL 使用 Cookie。

方法

Delete()

刪除與目前要求相關聯之具有預設名稱、網域及路徑的 Cookie。

Delete(HttpContext)

刪除與目前要求相關聯之具有預設名稱、網域及路徑的 Cookie。

Delete(String)

刪除與目前要求相關聯之具有指定名稱和預設網域及路徑的 Cookie。

Delete(String, HttpContext)

刪除與指定要求相關聯之具有指定名稱和預設網域及路徑的 Cookie。

Delete(String, String, String, HttpContext)

刪除與指定要求相關聯之具有指定名稱、路徑及網域的 Cookie。

DeleteCore(String, String, String, HttpContext)

在衍生類別中覆寫時,刪除與指定的要求關聯的 Cookie,其具有指定名稱、網域及路徑。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MatchCookiePath(Uri, Uri)

如果目標網域在 cookie 網域內,而且目標路徑在 cookie 路徑內,則比對 cookie 路徑部分的大小寫。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Read()

讀取與目前的要求相關聯的 Cookie,具有預設的名稱。

Read(HttpContext)

讀取與目前的要求相關聯的 Cookie,具有預設的名稱、網域及路徑

Read(String)

讀取與目前的要求相關聯的 Cookie,具有指定的名稱。

Read(String, HttpContext)

讀取與指定的要求相關聯的 Cookie,具有指定的名稱和預設網域及路徑。

ReadCore(String, HttpContext)

在衍生類別中覆寫時,讀取具有指定名稱且與指定要求相關聯的 Cookie。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
Write(Byte[], Boolean, DateTime)

寫入與目前要求相關聯的 Cookie,該要求具有指定的名稱、持續性和到期時間。

Write(Byte[], String, DateTime)

寫入與目前要求相關聯的 Cookie,該要求具有指定的名稱、值和到期時間。

Write(Byte[], String, DateTime, HttpContext)

寫入與指定的要求相關聯的 Cookie,該要求具有指定的名稱、值和到期時間。

Write(Byte[], String, String, String, DateTime, Boolean, Boolean, HttpContext)

寫入與指定的要求相關聯的 Cookie,該要求具有指定的名稱、值、網域、路徑、到期時間和可見度。

WriteCore(Byte[], String, String, String, DateTime, Boolean, Boolean, HttpContext)

在衍生類別中覆寫時,寫入與指定的要求相關聯的 Cookie,其具有指定的名稱、值、網域、路徑、到期時間、持續性和可見度。

適用於

另請參閱