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
C# 未在页面之间保存会话状态_C#_Asp.net_Iis_Session State - Fatal编程技术网

C# 未在页面之间保存会话状态

C# 未在页面之间保存会话状态,c#,asp.net,iis,session-state,C#,Asp.net,Iis,Session State,我在asp.net c#网站上遇到问题,我将会话状态对象设置为true,然后重定向到另一个需要检查会话状态对象值且为null的页面 有时它设置正确,而另一些时候则为空 当我在本地机器上调试时,它每次都能正常工作。只有当我上传到我的网络服务器时,这种喜怒无常的行为才会发生 由于它基于站点的安全性,因此每次会话数据都有效且准确显然很重要 会话状态数据是否不可靠 AFAIK将其设置为inproc、无Cookieels、30分钟超时、普通IIS安装 有人有什么建议吗?也许我需要在会话数据存储和读取之间执

我在asp.net c#网站上遇到问题,我将会话状态对象设置为true,然后重定向到另一个需要检查会话状态对象值且为null的页面

有时它设置正确,而另一些时候则为空

当我在本地机器上调试时,它每次都能正常工作。只有当我上传到我的网络服务器时,这种喜怒无常的行为才会发生

由于它基于站点的安全性,因此每次会话数据都有效且准确显然很重要

会话状态数据是否不可靠

AFAIK将其设置为inproc、无Cookieels、30分钟超时、普通IIS安装

有人有什么建议吗?也许我需要在会话数据存储和读取之间执行thread.sleep


注:写入和读取之间的时间约为70毫秒。。如果会话状态丢失,则有足够的时间将数据写入RAM…

,这通常是因为您的进程要么循环使用,要么失败。我永远不会“依赖”页面之间的会话状态。相反,您可能希望尝试以其他方式在页面之间持久化数据。可能通过表单变量传递信息,或者将数据保存在数据库中


是保存此类信息的首选方法。您可能需要阅读。

否。听起来您误用了会话状态。您不能依赖用户的会话来进行访问。您的ASP.NET工作进程可能会回收、重新启动应用程序并终止所有会话,或者网站中的文件可能会更改,导致应用程序重新启动并刷新所有会话,客户端上的cookie可能会刷新,超时可能会发生,等等


因此,您必须为所有这些场景提供会话状态。尽量避免将会话状态用于此类情况。如果您在会话状态中设置访问权限,而您不知道它是如何工作的,那么您打开站点可能会面临很多安全风险。

所有内容都指向web场。如果在为应用程序提供服务的生产环境中有不同的web服务器,您可以尝试这种行为


我找不到任何其他解释来解释“在我的机器上工作!”

我对你的特定问题没有答案,但克劳迪奥我的朋友可能会有点想法

我要说的是,将会话用于安全性是90年代的事。真的

FormsAuthentication的开发是为了取代这项技术,并且做得很好

对于容易恢复的琐碎问题,您应该只依赖会话


安全性不是其中之一。

我同意,它间歇性工作的原因是因为有时您得到相同的工作进程,而其他进程则没有。尝试使用InProc以外的sessionstate模式。实际上,OP表明这是一个安全问题,因此可能与身份验证有关。在这种情况下,如果没有表单票证,配置文件就没有创作用途。