我有一个ASP.Net网络应用程序,我想放一个timeOut(对于那些花太多时间不做任何事情的用户)。我的测试使用了3秒的时间。在web.config中:
<sessionState mode="StateServer" stateNetworkTimeout="3"></sessionState>
我在运行应用后立即收到以下错误:
无法在会话状态服务器中请求会话状态。
我无法找到与此案相关的任何内容......
我试图将InProc置于Mode =&#34;&#34;但它不会超时。
答案 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。