none
我的ASP.NET WebForm程序,页面不会过期。 RRS feed

  • 问题

  • 之前一直用ASP.NET2.0的,现在用VS2017生成一个WebForm项目。发现页面不会过期。

    用这个

       <!--2018-10-24 自定义超时时间-->
        <sessionState mode="InProc" cookieless="false" timeout="5"></sessionState>
        <!---->

    或者这个

      <sessionState mode="InProc" customProvider="DefaultSessionProvider"  timeout="5">
      <providers>
      <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/>
      </providers>
      </sessionState>   好像都没有作用。求帮助。谢谢。


    马东海

    2018年10月25日 0:58

全部回复

  • 你好,

    你可以贴一下你是如何测试session过期的吗?

    据我所知,如果你在5分钟内继续访问这个网站,那么session的过期时间会延长。

    我建议你可以首先设置一个session。然后等待6分钟再去拿这个session的值进行测试。


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年10月26日 9:36
  • 我这样设置 <sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="3">

    //按钮里执行查询

      protected void ButtonSearch_Click(object sender, EventArgs e)
       {

            SqlDataSource1.SelectParameters["KSRQ"].DefaultValue = DropDownListSTART.SelectedValue.Trim ();
            SqlDataSource1.SelectParameters["JSRQ"].DefaultValue = DropDownListEND.SelectedValue.Trim();
            GridView1.DataBind();
        }

    隔了10分钟去操作,还是可以查询出数据,而不是跳转到登陆页面的。


    马东海

    2018年10月30日 2:12
  • 你好,

    你确定你的user的登陆信息是存在session里面的?

    然后能告诉我你启用的是什么认证吗? Windows认证?


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年11月1日 3:04
  • 这一段是我从2.0复制过来的,只是allow user="*" 原来是deny users="?" <forms loginUrl="Login.aspx" protection="All" /> </authentication> <authorization> <allow users="*"/> </authorization> 这一段是webconfig本来就有的 <system.webServer> <modules> <remove name="FormsAuthentication"/> </modules> </system.webServer> 谢谢

    马东海

    2018年11月3日 1:39
  • 你好,

    据我所知IE有一个选项可以自动使用windows用户的权限进行登陆而不需要输入用户名和密码。

    我觉得可能是浏览器自动帮你做了登陆验证,我建议你可以尝试关闭这个选项然后再尝试一下。


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年11月5日 6:29
  • 谢谢,应该不是客户端的问题。

    马东海

    2018年11月7日 12:19
  • 你好,

    从你的webconfig来看,你好像是启用了form认证。

    据我所知form认证的ticket是存在cookie里面的不是session里面而且默认的过期时间是30分钟。

    如果你想要更改过期时间,我建议你可以添加如下代码到web.config。

    <system.web>
      <authentication mode="Forms">
        <forms timeout="60" />
      </authentication>
    </system.web>


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年11月9日 5:17
  • 还是不行,奇怪死了。

    我用的是VS的ASP.NET网站模板改的,不知道什么缘故


    马东海

    2019年4月11日 4:29