根据 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" />