Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 为什么会话状态丢失得如此之快?_Asp.net_Iis_Session State - Fatal编程技术网

Asp.net 为什么会话状态丢失得如此之快?

Asp.net 为什么会话状态丢失得如此之快?,asp.net,iis,session-state,Asp.net,Iis,Session State,我们有一个web应用程序,客户可以通过它访问信息。据许多客户报告,他们在没有活动的5分钟内注销。我认为这应该只在默认的20分钟空闲超时后发生,从我们的域内访问web应用时就是这种情况 我还花了几天时间对一个错误进行故障排除,其中一些用户的会话数据在回发之间丢失了约60%的时间,这导致了一个应用程序错误,因为下一页需要数据。唯一的解决方案是一种变通方法,在这种方法中,我使用一种额外的机制来缓存回发之间的数据,并在会话数据丢失时从该缓存中提取数据 我还注意到,我访问的一些需要登录凭据的网站也会在回发

我们有一个web应用程序,客户可以通过它访问信息。据许多客户报告,他们在没有活动的5分钟内注销。我认为这应该只在默认的20分钟空闲超时后发生,从我们的域内访问web应用时就是这种情况

我还花了几天时间对一个错误进行故障排除,其中一些用户的会话数据在回发之间丢失了约60%的时间,这导致了一个应用程序错误,因为下一页需要数据。唯一的解决方案是一种变通方法,在这种方法中,我使用一种额外的机制来缓存回发之间的数据,并在会话数据丢失时从该缓存中提取数据

我还注意到,我访问的一些需要登录凭据的网站也会在回发之间将我踢出。例如,我参加课程的学校的网站需要登录到其门户的凭据。在家里,我从来没有遇到过任何问题,但如果我从我的工作领域访问它,我经常会收到随机错误,表明我的凭据已丢失,即在登录和浏览页面后,不允许未经授权的访问

在网络上寻找创意让我走上了几条路,但大多数都涉及IIS工作进程和ASP.NET,对我没有帮助


有人对如何解决这个问题有什么想法或建议吗?

这不是因为编程问题…这是因为您的主机容量…正如您所知,会话是为每个用户创建的一种内存类型,当他们访问您的网站时,它会在他们完成访问时终止…因此在这种情况下,我假设网站访问者的数量增加了,因此默认情况下,当内存已满时,它会将一个会话踢出并导致所有这些问题……我认为最好的办法是在您获得主机服务的地方打电话,要求提供满足站点需要的服务。您只需将会话值存储到cookie中,以便在会话终止时访问该值。。也可以使用全局文件管理会话状态

我们是网站的宿主,并发用户相对较少,web服务器内存使用量远低于阈值。您能在web.config中设置会话参数的部分发布吗?是否在代码中操纵会话设置?web.config中未设置会话参数。代码中没有对会话设置的操作。这并没有解决这个问题。@field_b您编写的->我认为这应该只在默认的20分钟空闲超时后发生,从我们的域内访问web应用时就是这种情况。我还花了几天时间对一个错误进行了故障排除,其中用户的一些会话数据在回发之间丢失了大约60%的时间…@field_b您的凭据变为null,因为您的会话值变为null。这就是你注销的原因。。