2

根据 MSDN 上的文档,当您使用 AutoDetect 时,我们目前在 ASP.NET 中遇到无 cookie 会话问题

ASP.NET 确定发出请求的浏览器或设备是否支持 cookie。如果请求浏览器或设备支持 cookie,则 AutoDetect 使用 cookie 来保存用户数据;否则,在查询字符串中使用标识符。如果浏览器或设备支持 cookie,但当前禁用 cookie,请求功能仍会使用 cookie。

注意查询字符串部分!现在,如果它确实被添加到 URL 中&sessionId=yoursessionidhere,一切都很好,但实际上我得到的是这样的 URL http://yourserver/folder/(session ID here)/default.aspx:.

所以我的问题是:我将如何配置 ASP.NET 以使用查询字符串(如它所声称的那样)而不是这种 URL 破坏方法?

更新:

我正在添加我们在 web.config 中使用的配置值:

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="AutoDetect" timeout="20" />
4

1 回答 1

1

在此处阅读此资源http://forums.asp.net/t/1480365.aspx/1您是否在 web.config 中有 cookieless="UseUri" 设置 - 尝试从我收集的内容中删除它可能会有所帮助!一定要告诉我!

此外,可能值得在问题中发布您的配置块。

我做了更多的挖掘,发现这篇文章涵盖了 MVC 源代码中的请求处理 - 使用 URL 中的会话 id 进行路由看起来非常深入 - 请参阅异常的答案代码块可能的 ASP.NET 错误MVC 3 路由?

我会继续找你,但这个让我难住了!我认为你需要在 Hanselmann、Haack 或 Skeet 这样的人面前提出这个问题。

于 2012-08-08T12:50:05.323 回答