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


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 в коллекцию.

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)

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

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)

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

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

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

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