Asp.net网站断开连接

本文关键字:连接 断开 网站 net Asp | 更新日期: 2023-09-27 18:24:47

我想问你这个问题,因为我有点受不了。

我想知道为什么当我通过登录表单连接时,当我在默认页面上,在保持连接1小时后,它会断开连接并返回登录页面。

这是我实际的webconfig。

<configuration>
  <configSections>
  </configSections>
  <connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="LocalSqlServer" connectionString='Data Source=.'SQLEXPRESS; AttachDbFilename = "C:'Users'Maxime'Documents'Visual Studio 2010'Projects'ClientPortal'ApplicationUI'Website'ClientPortal'App_Data'DataUi.mdf";Integrated Security=True;User Instance=True'
       providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <pages validateRequest="false" />
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"  />
    <authentication mode="Forms">
      <forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH">
      </forms>
    </authentication>
    <authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>
    <sessionState cookieless="false"/>
    <httpRuntime maxRequestLength="1048576"/>
  </system.web>
  <appSettings>
    <add key="FolderPath"  value="uploads" />
  </appSettings>  
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
  </system.serviceModel>
</configuration>

我应该在网络配置中放一些其他东西来禁用它吗?

这有点烦人。。

Asp.net网站断开连接

您正在使用ASP.Net表单身份验证。默认的超时时间是30分钟(半小时),我很惊讶它能让你空闲一个小时。

使用以下代码控制超时时间。

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

这是因为Session超时了。

你可以在这里阅读这个问题以及修复它的方法

在表单标记中,您需要添加slidingExpiration=true,这样,如果用户在一小时内处于活动状态,则用户不会注销。他们注销的原因是会话超时,通过使用滑动过期,每次用户提出请求时,会话都会延长会话时间。

这是我用来避免会话过期的一个小javascript

<script type="text/javascript">
    PingAspToKeepSession();
    function PingAspToKeepSession() {
    var url = "KeppSession.aspx";
    var httpOb = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
    httpOb.open("POST", url, true);
    httpOb.send("");
    window.setTimeout("PingAspToKeepSession();", 60000); // every 60 seconds
    } 
    </script>