zclimeng 发表于 2008-5-25 12:53

Session_Start为什么会被触发多次?

您好.我用的VS2008,但不知为什么Session_Start会被多次触发.
下面是相关的web.config的设置
<?xml version="1.0"?>
<!--
    注意: 除了手动编辑此文件以外,您还可以使用
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在
    machine.config.comments 中,该文件通常位于
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
    <!--运行参数-->
    <appSettings>
                    <add key="DataLine" value="server=192.168.1.5;database=testdata;user id=sa;pwd=123456"/> <!--数据联接串-->
                    <add key="mobile" value="0"/>
                    <add key="loginssl" value="false"/><!-- 是否加密传送Https-->
          </appSettings>

   
    <system.web>
      
        <!--验证方式,此处基于窗体-->
                     <authentication mode="Forms">
           <forms loginUrl="login.aspx" name=".test1" timeout="120" /> <!-- 认证的默认网页,Cookie名,超时设置-->
        </authentication>
      
                    <!-- 控制对 URL 资源的客户端访问权限 -->
        <authorization>
                             <deny users="?"/>
                    </authorization>
   
        <!-- 编译设置:语言为VB,调试时用true,给用户时false-->
        <compilation defaultLanguage="vb" debug="true">
           <assemblies></assemblies>
        </compilation>

        <!-- 错误设置:mode模式目前为关,可以在此设置跳转页面-->
        <customErrors mode="Off"/>

        <!-- 配置 ASP.NET HTTP 运行库设置:最大上传文件大小,是否可以改变最大限制,联接超时-->
        <httpRuntime maxRequestLength="204800" useFullyQualifiedRedirectUrl="true" executionTimeout="120"/>
      
        <!-- 文字编码设置 -->
        <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
               
                    <!-- 为当前应用程序配置会话状态设置:mode="InProc"表示:在本地储存会话状态;cookieless="false"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False);会话超时-->
        <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="120"/>
                    
        <!-- 标识特定于页的配置设置(如是否启用会话状态、视图状态,是否检测用户的输入等)。-->
                    <pages buffer="true" enableSessionState="true" enableViewState="true" enableViewStateMac="true" autoEventWireup="true" validateRequest="false"/>
      
        <!-- 呈现方式 -->
                    <xhtmlConformance mode="Legacy"/>
    </system.web>
       
</configuration>

hebingbing 发表于 2008-5-25 15:45

你应该查看你的Global.asax 文件,Session_Start会在应用程序第一次启动时触发一次,所以你要看你的Global.asax 文件中Session_Start事件是写了什么……

guoxhvip 发表于 2008-5-25 21:42

建议楼主看看书 把什么是会话先搞清楚 搞清楚过后就知道Session_Start为什么会触发多次了

淡漠的茶 发表于 2008-5-27 11:56

Session_Start本来就是会被多次触发的啊
Application_Start是一次

页: [1]

编程论坛