<Type Name="HttpCookie" FullName="System.Web.HttpCookie">
  <TypeSignature Language="C#" Value="public sealed class HttpCookie" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>System.Web</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes>
      <Attribute>
        <AttributeName>System.Web.UI.TagPrefixAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.NeutralResourcesLanguageAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Runtime.InteropServices.ComVisibleAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.CLSCompliantAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.SatelliteContractVersionAttribute</AttributeName>
      </Attribute>
    </Attributes>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Represents an HTTP Cookie.</summary>
    <remarks>
      <para>
You can use cookies to store information on the client browser that will be provided in subsequent calls to the site.  This can be useful to pass information across pages, or to store small bits of information that might be useful at a later time in the use of the web application
</para>
      <para>
You could use it for example to store a transient user preference ("favorite color", "default action when replying to an email" and so on).
</para>
      <para>
Once constructed, the cookie can be send to the client by calling the <see cref="M:HttpResponse.AppendCookie()" /> method.   This must be done before any input is sent back to the client.
</para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Attributes>
    <Attribute>
      <AttributeName>System.Reflection.DefaultMemberAttribute</AttributeName>
    </Attribute>
  </Attributes>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HttpCookie (string name);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Creates a cookie.</summary>
        <param name="name">The name of the cookie.</param>
        <returns>The new cookie with the given name, and an empty Value.</returns>
        <remarks>The cookie is created with an empty value ("").</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HttpCookie (string name, string value);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="name" Type="System.String" />
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>Creates a cookie with a given value.</summary>
        <param name="name">The name of the cookie.
</param>
        <param name="value">The value of the cookie.</param>
        <returns />
        <remarks>Creates a cookie with the given name and value.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Name">
      <MemberSignature Language="C#" Value="public string Name { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The name for the cookie.</summary>
        <param name="value">The new name for the cookie.</param>
        <returns>The cookie name.</returns>
        <remarks>Sets and resets the name of the cookie.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Path">
      <MemberSignature Language="C#" Value="public string Path { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The subset of URLs to which this cookie applies.</summary>
        <param name="value">Sets the value of path.</param>
        <returns>The current path value, by default it is "/".</returns>
        <remarks>
          <para>The Path attribute specifies the subset of URLs to which this cookie applies.</para>
          <para>The value for the Path attribute will be ignored is not a prefix of the request-URI (see RFC 2109 for details).
</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Secure">
      <MemberSignature Language="C#" Value="public bool Secure { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Controls if the cookie is to be sent only using secure (encrypted) connections, meaning using SSL (HTTPS).</summary>
        <param name="value">True if the cookie is only to be sent over HTTPS, otherwise false.</param>
        <returns>True if the value was transmited over a secure connection.</returns>
        <remarks>The transmission of cookies using SSL can be set using web.config for the application as a default, as setting programmatically this property will override the value set in web.config.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Domain">
      <MemberSignature Language="C#" Value="public string Domain { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The domain for which the cookie is valid.</summary>
        <param name="value">The domain.   RFC 2109 requires that a domain must always start with a dot.</param>
        <returns>The current value of the domain.   The default value is null.</returns>
        <remarks>
          <para>This is an optional parameter for cookies, and by default the value of this property is null.   
</para>
          <list type="bullet">
            <item>
              <term> The value for the Path attribute is not a prefix of the request-
     URI.</term>
            </item>
            <item>
              <term>The value for the Domain attribute contains no embedded dots or does not start with a dot.</term>
            </item>
            <item>
              <term>The value for the request-host does not domain-match the Domain attribute.</term>
            </item>
            <item>
              <term>The request-host is a FQDN (not IP address) and has the form HD, where D is the value of the Domain attribute, and H is a string that contains one or more dots.</term>
            </item>
          </list>
          <para>   Examples:</para>
          <list type="bullet">
            <item>
              <term>A Set-Cookie from request-host y.x.foo.com for Domain=.foo.com would be rejected, because H is y.x and contains a dot.</term>
            </item>
            <item>
              <term>A Set-Cookie from request-host x.foo.com for Domain=.foo.com would be accepted.</term>
            </item>
            <item>
              <term>A Set-Cookie with Domain=.com or Domain=.com., will always be rejected, because there is no embedded dot.</term>
            </item>
            <item>
              <term>A Set-Cookie with Domain=ajax.com will be rejected because the value for Domain does not begin with a dot.</term>
            </item>
          </list>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Expires">
      <MemberSignature Language="C#" Value="public DateTime Expires { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.DateTime</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>Controls the expire date and time of the cookie.</summary>
        <param name="value">The date and time when the cookie is expired on the client.</param>
        <returns>The time and day when when the cookie will expire on the client.</returns>
        <remarks>If this property isn't set, its value should be set to System.DateTime.MinValue, meaning that the cookie will expire as soon as the browser closes.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Value">
      <MemberSignature Language="C#" Value="public string Value { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
      </Parameters>
      <Docs>
        <summary>The value of the cookie.</summary>
        <param name="value">The new value to set for the cookie.</param>
        <returns>The current value stored in the cookie.</returns>
        <remarks>The current cookie value, this does not include any other properties, for those you must use the property accessors.</remarks>
      </Docs>
    </Member>
    <Member MemberName="HasKeys">
      <MemberSignature Language="C#" Value="public bool HasKeys { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Whether any key/value pairs have been set on the cookie.</summary>
        <returns>To be added: an object of type 'bool'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Item">
      <MemberSignature Language="C#" Value="public string Item { set; get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="key" Type="System.String" />
      </Parameters>
      <Docs>
        <summary>To be added</summary>
        <param name="key">To be added: an object of type 'string'</param>
        <param name="value">To be added: an object of type 'string'</param>
        <returns>To be added: an object of type 'string'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Values">
      <MemberSignature Language="C#" Value="public System.Collections.Specialized.NameValueCollection Values { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.Specialized.NameValueCollection</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>a <see cref="T:System.Collections.Specialized.NameValueCollection" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>