Rediger

Del via


HttpListenerResponse.SetCookie(Cookie) Method

Definition

Adds or updates a Cookie in the collection of cookies sent with this response.

public:
 void SetCookie(System::Net::Cookie ^ cookie);
public void SetCookie (System.Net.Cookie cookie);
member this.SetCookie : System.Net.Cookie -> unit
Public Sub SetCookie (cookie As Cookie)

Parameters

cookie
Cookie

A Cookie for this response.

Exceptions

cookie is null.

The cookie already exists in the collection and could not be replaced.

Examples

The following code example demonstrates calling this method.

// This example requires the System and System.Net namespaces.
public static void SimpleCookieExample(string[] prefixes)
{
    // Create a listener.
    HttpListener listener = new HttpListener();
    // Add the prefixes.
    foreach (string s in prefixes)
    {
        listener.Prefixes.Add(s);
    }
    listener.Start();
    Console.WriteLine("Listening...");
    // Note: The GetContext method blocks while waiting for a request.
    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.Request;

    // This application sends a cookie to the client marking the time
    // they visited.
    Cookie timeStampCookie = new Cookie("VisitDate", DateTime.Now.ToString());
    // Obtain a response object.
    HttpListenerResponse response = context.Response;
    // Add the cookie to the response.
    response.SetCookie(timeStampCookie);
    // Construct a response.
    string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
    response.ContentEncoding = System.Text.Encoding.UTF8;
    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
    // Send the response.
    response.Close(buffer, true);
    listener.Stop();
}
' This example requires the System and System.Net namespaces.
Public Shared Sub SimpleCookieExample(ByVal prefixes As String())
    ' Create a listener
    Dim listener As HttpListener = New HttpListener()
    ' Add the prefixes
    For Each s As String In prefixes
        listener.Prefixes.Add(s)
    Next

    listener.Start()
    Console.WriteLine("Listening...")
    ' Note: The GetContext method blocks while waiting for a request.
    Dim context As HttpListenerContext = listener.GetContext()
    Dim request As HttpListenerRequest = context.Request

    ' This application sends a cookie to the client marking the time
    ' they visited.
    Dim timeStampCookie As Cookie = New Cookie("VisitDate", DateTime.Now.ToString())
    ' Obtain a response object.
    Dim response As HttpListenerResponse = context.Response
    ' Add the cookie to the response.
    response.SetCookie(timeStampCookie)
    ' Construct a response.
    Dim responseString As String = "<HTML><BODY> Hello world!</BODY></HTML>"
    response.ContentEncoding = System.Text.Encoding.UTF8
    Dim buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(responseString)
    ' Send the response.
    response.Close(buffer, True)
    listener.Stop()
End Sub

Remarks

Two cookies are considered the same if the values of their Name, Domain, and Path properties are the same. If these three pieces of information are the same, the method attempts to update the cookie. The name and domain comparisons are not case sensitive, but the path comparison is case sensitive.

Applies to

See also