<?xml version="1.0" encoding="utf-8"?>
<Type Name="SessionStateModule" FullName="System.Web.SessionState.SessionStateModule">
  <TypeSignature Language="C#" Maintainer="auto" Value="public sealed class SessionStateModule : System.Web.IHttpModule" />
  <AssemblyInfo>
    <AssemblyName>System.Web</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </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>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Web.IHttpModule</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para> <see cref="T:System.Web.SessionState.SessionStateModule" /> is ASP.NET's default session-state handler. It writes session data to and retrieves it from the session-state store and raises the <system>Session_OnStart</system> and <system>Session_OnEnd</system> events. For details about how to use ASP.NET session state to store and retrieve values for a user session, see <format type="text/html"><a href="6d60d381-6521-4e1d-9089-da6464f2a9bc">ASP.NET Session State Overview</a></format>.</para>
      <para>You can replace the <see cref="T:System.Web.SessionState.SessionStateModule" /> with a custom implementation of the <see cref="T:System.Web.IHttpModule" /> interface that manages session state. For an example of a custom session-state module, see the <see cref="T:System.Web.SessionState.SessionStateUtility" /> class overview.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides session-state services for an application. This class cannot be inherited.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public SessionStateModule ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor is not intended to be called from application code.</para>
          <para>An <see cref="T:System.Web.HttpApplication" /> object is created when an ASP.NET application is started. The <see cref="T:System.Web.HttpApplication" /> object calls the <see cref="T:System.Web.SessionState.SessionStateModule" /> constructor to create the <see cref="T:System.Web.SessionState.SessionStateModule" /> object for the application. The <see cref="T:System.Web.SessionState.SessionStateModule" /> is specified in the configuration for an application.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Web.SessionState.SessionStateModule" /> class.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="public void Dispose ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method is not intended to be called from application code.</para>
          <para>An <see cref="T:System.Web.HttpApplication" /> object is created when an ASP.NET application is started. The <see cref="T:System.Web.HttpApplication" /> object creates and initializes the <see cref="T:System.Web.SessionState.SessionStateModule" /> object for the application and calls the <see cref="M:System.Web.SessionState.SessionStateModule.Dispose" /> method when the object is released. The <see cref="T:System.Web.SessionState.SessionStateModule" /> is specified in the configuration for an application.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Executes final cleanup code before the <see cref="T:System.Web.SessionState.SessionStateModule" /> object is released from memory.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="End">
      <MemberSignature Language="C#" Value="public event EventHandler End;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="E:System.Web.SessionState.SessionStateModule.End" /> event is raised at the end of a request when the <see cref="M:System.Web.SessionState.HttpSessionState.Abandon" /> method has been called or when the session has expired. A session expires when the number of minutes specified by the <see cref="P:System.Web.SessionState.HttpSessionState.Timeout" /> property passes without a request being made for the session.</para>
          <para>The <system>Session_OnEnd</system> event is used to perform any cleanup work for a session such as disposing of resources used by the session.</para>
          <para>You can specify a handler for the <see cref="E:System.Web.SessionState.SessionStateModule.End" /> event by adding a public subroutine named <system>Session_OnEnd</system> to the Global.asax file.</para>
          <block subset="none" type="note">
            <para>The <system>Session_OnEnd</system> event is only supported when the session-state <see cref="P:System.Web.SessionState.HttpSessionState.Mode" /> property value is <see cref="F:System.Web.SessionState.SessionStateMode.InProc" />, which is the default. If the session-state <see cref="P:System.Web.SessionState.HttpSessionState.Mode" /> is set to <see cref="F:System.Web.SessionState.SessionStateMode.StateServer" /> or <see cref="F:System.Web.SessionState.SessionStateMode.SQLServer" />, then the <system>Session_OnEnd</system> event in the Global.asax file is ignored. If the session state <see cref="P:System.Web.SessionState.HttpSessionState.Mode" /> property value is <see cref="F:System.Web.SessionState.SessionStateMode.Custom" />, then support for the <system>Session_OnEnd</system> event is determined by the custom session-state store provider.</para>
          </block>
          <para>Though the <see cref="E:System.Web.SessionState.SessionStateModule.End" /> event is public, you can only handle it by adding an event handler in the Global.asax file. This restriction is implemented because <see cref="T:System.Web.HttpApplication" /> instances are reused for performance. When a session expires, only the <system>Session_OnEnd</system> event specified in the Global.asax file is executed, to prevent code from calling  an <see cref="E:System.Web.SessionState.SessionStateModule.End" /> event handler associated with an <see cref="T:System.Web.HttpApplication" /> instance that is currently in use.</para>
          <para>For more information about the Global.asax file, see <format type="text/html"><a href="9ade9d4d-4d52-4e88-af52-53a9ffa26582">Global.asax Syntax</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Occurs when a session ends.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Init">
      <MemberSignature Language="C#" Value="public void Init (System.Web.HttpApplication app);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="app" Type="System.Web.HttpApplication" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method is not intended to be called from application code.</para>
          <para>An <see cref="T:System.Web.HttpApplication" /> is created when an ASP.NET application is started. The <see cref="T:System.Web.HttpApplication" /> object calls the <see cref="M:System.Web.SessionState.SessionStateModule.Init(System.Web.HttpApplication)" /> method when it creates the <see cref="T:System.Web.SessionState.SessionStateModule" /> object for the application. The <see cref="T:System.Web.SessionState.SessionStateModule" /> class is specified in the configuration for an application.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Calls initialization code when a <see cref="T:System.Web.SessionState.SessionStateModule" /> object is created.</para>
        </summary>
        <param name="app">
          <attribution license="cc4" from="Microsoft" modified="false" />The current application. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Start">
      <MemberSignature Language="C#" Value="public event EventHandler Start;" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="E:System.Web.SessionState.SessionStateModule.Start" /> event is raised at the beginning of a request when a new session is started. A new session is started if a request is made that does not contain a session identifier, the session identifier is invalid, or the session associated with a session identifier has expired. </para>
          <para>The <system>Session_OnStart</system> event is used to perform any initialization work for a session such as setting up default values for session variables.</para>
          <para>You can specify a handler for the <see cref="E:System.Web.SessionState.SessionStateModule.Start" /> event by adding a public subroutine named <system>Session_OnStart</system> to the Global.asax file.</para>
          <para>For more information about the Global.asax file, see <format type="text/html"><a href="9ade9d4d-4d52-4e88-af52-53a9ffa26582">Global.asax Syntax</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The event that occurs when a session is created.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>