HttpCookieCollection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供類型安全的方式來操作 HTTP Cookie。
public ref class HttpCookieCollection sealed : System::Collections::Specialized::NameObjectCollectionBase
public sealed class HttpCookieCollection : System.Collections.Specialized.NameObjectCollectionBase
type HttpCookieCollection = class
inherit NameObjectCollectionBase
Public NotInheritable Class HttpCookieCollection
Inherits NameObjectCollectionBase
- 繼承
範例
下列程式碼範例示範如何使用 物件的 屬性讀取 Cookie Cookies ,以及使用 Cookies 物件的 屬性 HttpRequestHttpResponse 來寫入 Cookie。 這兩個屬性都會傳回 HttpCookieCollection 物件。 如果兩個名為 userName
和 lastVisit
的 Cookie 都不在 HTTP 要求中,則會在 HTTP 回應中建立它們。 如果存在這兩個 Cookie,則會顯示 Cookie 的屬性。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
// Check to see if cookies exist in HTTP request.
if (Request.Cookies["userName"] == null &&
Request.Cookies["lastVist"] == null)
{
Response.Cookies["userName"].Value = "user name";
Response.Cookies["userName"].Expires = DateTime.Now.AddMinutes(20d);
HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddMinutes(20d);
Response.Cookies.Add(aCookie);
sb.Append("Two cookies added to response. " +
"Refresh the page to read the cookies.");
}
else
{
HttpCookieCollection cookies = Request.Cookies;
for (int i = 0; i < cookies.Count; i++)
{
sb.Append("Name: " + cookies[i].Name + "<br/>");
sb.Append("Value: " + cookies[i].Value + "<br/>");
sb.Append("Expires: " + cookies[i].Expires.ToString() +
"<br/><br/>");
}
}
Label1.Text = sb.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpCookieCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label id="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim sb As New StringBuilder()
' Check to see if cookies exist in HTTP request.
If (Request.Cookies("userName") Is Nothing AndAlso _
Request.Cookies("lastVisit") Is Nothing) Then
Response.Cookies("userName").Value = "user name"
Response.Cookies("userName").Expires = DateTime.Now.AddMinutes(20D)
Dim aCookie As HttpCookie
aCookie = New HttpCookie("lastVisit")
aCookie.Value = DateTime.Now.ToString()
aCookie.Expires = DateTime.Now.AddMinutes(20D)
Response.Cookies.Add(aCookie)
sb.Append("Two cookies added to response. " & _
"Refresh the page to read the cookies.")
Else
Dim cookies As HttpCookieCollection
cookies = Request.Cookies
For i As Integer = 0 To cookies.Count - 1
sb.Append("Name: " & cookies(i).Name & "<br/>")
sb.Append("Value: " & cookies(i).Value & "<br/>")
sb.Append("Expires: " & cookies(i).Expires.ToString() & _
"<br/><br/>")
Next
End If
Label1.Text = sb.ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HttpCookieCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label id="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
建構函式
HttpCookieCollection() |
初始化 HttpCookieCollection 類別的新執行個體。 |
屬性
AllKeys |
取得包含 Cookie 集合中所有索引鍵 (Cookie 名稱) 的字串陣列。 |
Count |
取得 NameObjectCollectionBase 執行個體中包含的索引鍵/值組數目。 (繼承來源 NameObjectCollectionBase) |
IsReadOnly |
取得或設定值,表示 NameObjectCollectionBase 執行個體是否為唯讀。 (繼承來源 NameObjectCollectionBase) |
Item[Int32] |
以指定的數值索引從 Cookie 集合取得 Cookie。 |
Item[String] |
以指定的名稱從 Cookie 集合取得 Cookie。 |
Keys |
取得 NameObjectCollectionBase.KeysCollection 執行個體,其中包含 NameObjectCollectionBase 執行個體內的所有索引鍵。 (繼承來源 NameObjectCollectionBase) |
方法
明確介面實作
ICollection.CopyTo(Array, Int32) |
從目標陣列的指定索引開始,將整個 NameObjectCollectionBase 複製到相容的一維 Array。 (繼承來源 NameObjectCollectionBase) |
ICollection.IsSynchronized |
取得值,表示是否要同步處理 (執行緒安全) 對 NameObjectCollectionBase 物件的存取。 (繼承來源 NameObjectCollectionBase) |
ICollection.SyncRoot |
取得可用來同步處理對 NameObjectCollectionBase 物件之存取的物件。 (繼承來源 NameObjectCollectionBase) |
擴充方法
Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
OfType<TResult>(IEnumerable) |
根據指定的型別來篩選 IEnumerable 的項目。 |
AsParallel(IEnumerable) |
啟用查詢的平行化作業。 |
AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |