我正在尝试部署Vb.net Asp.net Web表单应用程序,但遇到问题。
我们有一个稍微奇怪的问题,我们似乎在帖子背面(不是全部)丢失了一些关于chrome的页面上的会话。
在Internet Explorer和Firefox中似乎完全正常。
这仅在部署到IIS 6时发生,而不是在本地调试时发生。
正在使用HTTPS。
是否有人有任何想法或建议,为什么可能或在哪里集中调查?
未找到任何JavaScript错误。 代码隐藏中没有错误发生。
感谢您的帮助!
更新1: 感谢您的评论。我们在所有页面上的cookie中都有相同的ASP.NET_SessionId - 这永远不会改变... 1.输入第一页,填写表单,添加会话变量2.输入第二页我们有会话变量,这些都是在page_load事件。 3.填写第二页上的表单并提交,我们点击page_load事件,再次检查会话变量是否存在,但这次它们丢失了。 ...代码中没有任何地方可以清除这些会话变量。这是一个Web应用程序项目。
我认为我们正在使用表单身份验证,它设置为允许匿名,因为这将是一个公共应用程序这只发生在Chrome中,并且只在部署到IIS时发生 - 在使用Visual进行本地调试时不会发生这种情况Studio 2010测试Web服务器。会不会有一些模糊的环境问题?这非常令人沮丧! :/我目前没有工作,所以我需要仔细检查一些其他细节,这是我们最近继承的代码,原作者不在我们身边。非常感谢您的帮助!我真的很感激。
更新2: 我们正在丢失页面上的SaveStateComplete事件和回发之间的会话变量。
答案 0 :(得分:1)
该应用程序位于网站的物理文件夹中。 我将其更改为虚拟文件夹,它解决了问题。我仍然不清楚问题的原因。
答案 1 :(得分:0)
这可能会对某些人有所帮助。我有同样的问题。在Firefox工作,在IE工作。在Chrome中丢失了会话。基本上,我正在设置并绑定gridview,然后设置会话变量。当触发回发时,当代码在RowCommand事件中运行时,会话变量全部丢失。
我不确定为什么会这样,但我在web.config中有这些值(想想当我向我的网站添加一些MVC元素时它们会自动添加):
<!--
<add key="PageInspector:ServerCodeMappingSupport" value="Disabled" />
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
-->
当我评论这些值时,一切都开始在Chrome中运行。由于我实际上并没有使用我添加的MVC引用,我很擅长这个解决方案,但我不确定它为什么有用。