试图在asp.net中放一个timeOut

时间:2015-07-17 14:37:44

标签: c# asp.net session

我有一个ASP.Net网络应用程序,我想放一个timeOut(对于那些花太多时间不做任何事情的用户)。我的测试使用了3秒的时间。在web.config中:

<sessionState mode="StateServer" stateNetworkTimeout="3"></sessionState>

我在运行应用后立即收到以下错误:

  

无法在会话状态服务器中请求会话状态。

我无法找到与此案相关的任何内容......

我试图将InProc置于Mode =&#34;&#34;但它不会超时。

2 个答案:

答案 0 :(得分:1)

考虑到这一点,您尝试使用State Server并设置Web服务器和状态服务器之间的空闲时间。要正确配置Web服务器以使用状态服务器,还必须配置状态服务器。转到您的状态服务器并运行:

  

SYSTEMROOT \ Microsoft.NET \框架\版本号\ aspnet_state.exe的

这将安装asp.net状态服务。然后在Web配置的sessionState元素中,您还需要设置stateConnectionString属性。

<configuration>
  <system.web>
    <sessionState mode="StateServer"
      stateConnectionString="tcpip=SampleStateServer:42424"
      cookieless="false"
      timeout="20"
      stateNetworkTimeout="3"/>
  </system.web>
</configuration>

你现在有两个&#34;超时&#34;这里。 &#34;超时&#34;属性是用户可以与Web服务器保持连接的时间。 stateNetworkTimeout是webserver到stateserver连接可以空闲的时间。默认值为10秒。

希望这有帮助。

参考:https://msdn.microsoft.com/en-us/library/ms178586(v=vs.100).aspx

/ IP

答案 1 :(得分:0)

<sessionState mode="InProc"  timeout="1" cookieless="false" ></sessionState>

我误认为是几分钟,超时值约为几分钟。所以我等了1分钟进行测试...

感谢@Devian和@Agolo。