Поделиться через


HttpCookieCollection Класс

Определение

Предоставляет типобезопасный способ управления файлами cookie HTTP.

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
Наследование
HttpCookieCollection

Примеры

В следующем примере кода показано, как считывать файлы cookie с помощью Cookies свойства HttpRequest объекта и записывать файлы cookie с помощью Cookies свойства HttpResponse объекта. Оба свойства возвращают HttpCookieCollection объекты. Если одно из двух файлов cookie с именем userName и lastVisit не находятся в 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)

Методы

Имя Описание
Add(HttpCookie)

Добавляет указанный файл cookie в коллекцию файлов cookie.

BaseAdd(String, Object)

Добавляет запись с указанным ключом и значением в NameObjectCollectionBase экземпляр.

(Унаследовано от NameObjectCollectionBase)
BaseClear()

Удаляет все записи из экземпляра NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseGet(Int32)

Возвращает значение записи по указанному индексу экземпляра NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseGet(String)

Возвращает значение первой записи с указанным ключом из экземпляра NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseGetAllKeys()

String Возвращает массив, содержащий все ключи в экземпляреNameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGetAllValues()

Object Возвращает массив, содержащий все значения в экземпляреNameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
BaseGetAllValues(Type)

Возвращает массив указанного типа, содержащий все значения в экземпляре NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseGetKey(Int32)

Возвращает ключ записи по указанному индексу экземпляра NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseHasKeys()

Возвращает значение, указывающее, содержит ли NameObjectCollectionBase экземпляр записи, ключи которых не nullявляются.

(Унаследовано от NameObjectCollectionBase)
BaseRemove(String)

Удаляет записи с указанным ключом из экземпляра NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseRemoveAt(Int32)

Удаляет запись по указанному индексу экземпляра NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseSet(Int32, Object)

Задает значение записи по указанному индексу экземпляра NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)
BaseSet(String, Object)

Задает значение первой записи с указанным ключом в экземпляре NameObjectCollectionBase , если оно найдено; в противном случае добавляет запись с указанным ключом и значением в NameObjectCollectionBase экземпляр.

(Унаследовано от NameObjectCollectionBase)
Clear()

Удаляет все файлы cookie из коллекции файлов cookie.

CopyTo(Array, Int32)

Копирует элементы коллекции Array файлов cookie в начало с указанного индекса массива.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Get(Int32)

HttpCookie Возвращает элемент с указанным индексом из коллекции файлов cookie.

Get(String)

Возвращает файл cookie с указанным именем из коллекции файлов cookie.

GetEnumerator()

Возвращает перечислитель, который выполняет итерацию через NameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetKey(Int32)

Возвращает ключ (имя) файла cookie в указанном числовом индексе.

GetObjectData(SerializationInfo, StreamingContext)
Устаревшие..

ISerializable Реализует интерфейс и возвращает данные, необходимые для сериализации экземпляраNameObjectCollectionBase.

(Унаследовано от NameObjectCollectionBase)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnDeserialization(Object)

ISerializable Реализует интерфейс и вызывает событие десериализации после завершения десериализации.

(Унаследовано от NameObjectCollectionBase)
Remove(String)

Удаляет файл cookie с указанным именем из коллекции.

Set(HttpCookie)

Обновляет значение существующего файла cookie в коллекции файлов cookie.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
ICollection.CopyTo(Array, Int32)

Копирует все NameObjectCollectionBase в совместимое одномерное Arrayзначение, начиная с указанного индекса целевого массива.

(Унаследовано от NameObjectCollectionBase)
ICollection.IsSynchronized

Возвращает значение, указывающее, синхронизирован ли доступ к NameObjectCollectionBase объекту (потокобезопасный).

(Унаследовано от NameObjectCollectionBase)
ICollection.SyncRoot

Возвращает объект, который можно использовать для синхронизации доступа к объекту NameObjectCollectionBase .

(Унаследовано от NameObjectCollectionBase)

Методы расширения

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

Применяется к

См. также раздел