我的Session,Mod用的是 
<sessionState mode="SQLServer" 
   sqlConnectionString="data source=.;user id=AspState;password=1234"
   cookieless= "false"
   timeout= "20" />
我的页面代码是:
    protected void Page_Load(object sender, EventArgs e)
    {
            if (Request.QueryString.Count != 3)
            {
            }
            else
            {
               Session["UserInfo"] = Param.UserInfo (Request.QueryString[0].ToString());
                this.Session["UserId"] = Request.QueryString[0].ToString();
                this.Session["UserToken"] = Request.QueryString[1].ToString();
                this.Session["BankCode"] = Request.QueryString[2].ToString();
                this.Response.Redirect("../OperationMenu.aspx");
            }
  
    }一到这个OperationMenu界面,Session就丢失了请诸位老大指点

解决方案 »

  1.   

    你的服务器是windows 2003 Server吧,在iis里有应用程序池,检查你的程序使用的哪个应用程序池,最好给你的网站新建立一个应用程序池,并设置该池的Web园数目为1
    另外,检查有没有代码更改web.config等配置文件,这样会导致应用程序重启的。
    实时杀毒软件的杀毒也会导致更改web.config,会导致应用程序重启的
      

  2.   

    另外检查你的客户端是否禁用了cookie.
      

  3.   

    把这两个aspx文件放在同一个目录里边。看见“..”我觉得非常可疑。
      

  4.   

    to: net_lover(【孟子E章】) 
    另外,检查有没有代码更改web.config等配置文件,这样会导致应用程序重启的。
    实时杀毒软件的杀毒也会导致更改web.config,会导致应用程序重启的楼主是用SQLServer保存会话状态的,重启应用程序不会丢失Session吧?
      

  5.   

    是的,不是InProc的模式不受这个的影响,也不受应用程序池的影响。
    你可以这样在Global.aspx.cs里的Session_Start事件里随便写:
    Session["foo"]="foo";
    其它不要动
    试试
      

  6.   

    你的配置文件里或者页面里设置
    <system.web>
        <pages enableSessionState="true"></pages>
    了吧?这个别忘了
      

  7.   

    mode="SQLServer" ,你的sql是保存在sql里的,不是内存里,估计和SQLServer有关系
      

  8.   

    不行呀,两个都试验了,还是不行.现在在同一个界面只要运行了后台代码.Session,就会丢了.现在发现是每次的Session ID都会变的!不知道为什么!这个是我的WEB.cofig,<?xml version="1.0"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。    设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中-->
    <configuration>
    <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data"/>
    <sectionGroup name="ajaxNet">
    <section name="ajaxSettings" type="AjaxPro.AjaxSettingsSectionHandler, AjaxPro.2"/>
    </sectionGroup>
    <section name="WebServiceSection" type="System.Configuration.SingleTagSectionHandler"/>
    </configSections>
    <!-- 工作流webservice信息,程序中需把serverip换成ip.布置生产环境时,只需改IP-->
    <WebServiceSection webservice="Http://serverip/BusinessInterface/WorkflowService.asmx" ip="192.169.1.102" method="ExecuteEx"/>
    <ajaxNet>
    <ajaxSettings>
    <urlNamespaceMappings>
    <!-- <add path="sample" type="AJAXDemo.WebForm1,AJAXDemo" /> -->
    </urlNamespaceMappings>
    <jsonConverters>
    <add type="AJAXDemo.Examples.Classes.PersonConverter,AJAXDemo"/>
    </jsonConverters>
    </ajaxSettings>
    </ajaxNet>
    <connectionStrings>
    <add name="DataAccessQuickStart" connectionString="server=192.169.1.96;uid=sa;pwd=sa;database=spdbetspro" providerName="System.Data.SqlClient"/>
    <add name="spdbetsproConnectionString1" connectionString="Data Source=192.169.1.96;Initial Catalog=spdbetspro;Persist Security Info=True;User ID=sa;Password=SA" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <dataConfiguration defaultDatabase="DataAccessQuickStart"/>
    <appSettings>
    <!--如果Web项目下没有Files目录,请创建该目录-->
    <add key="FilePath" value="d:\EtsTow\ETSPortal\Files\"/>
    <!--其中Files是Web项目下的一个目录,指向上面的FilePath-->
    <add key="DownPath" value="http://localhost/ETSPortal/Files/"/>
    <add key="WebDAL" value="ETS.SQLServerDAL"/>
    <add key="AppId" value="ETS-WF"/>
    </appSettings>
    <system.web>
        <pages enableSessionState="true"></pages>
    <!--<pages enableEventValidation="false" />
    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312"/>-->
    <httpHandlers>
    <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
    </httpHandlers>
    <!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
    <compilation debug="true">
    <assemblies>
    <add assembly="System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="SecurityManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2D62A2EDDE980C55"/>
    <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
    <!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,            以标识传入的用户。 
            -->
    <authentication mode="Windows"/>
    <!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
       <sessionState mode="SQLServer" 
       sqlConnectionString="data source=.;user id=AspState;password=1234"
       cookieless= "false"
       timeout= "20" />  </system.web>
    </configuration>