IIS7如何在无cookie场景下判断同一个会话?

发布于 2024-10-05 16:06:34 字数 438 浏览 4 评论 0原文

我们有 ASP.NET cookieless 会话(inproc),因此 URL 包含会话 id,即 S(dfasfdafasdfasfa)

我们还有几个客户端通过代理服务器,看起来我们的 Web 服务器无法识别会话 id 并且没有会话他们无法继续的数据。我已经在开放代理上测试了我们的网站,它们运行良好。但是这个特定的客户端代理服务器发生了一些事情,导致了这种行为。

我已经检查了包捕获的成功和失败情况(由客户端提供),并且传输的原始 HTML(包括标头)是相同的。代理服务器似乎没有缓存 URL,因为正确的会话 ID 正在下降。

所以我的想法是,IIS7 除了 URL 中的会话 ID 之外还使用其他东西来确定唯一的客户端。也许是 TCP/IP 级别的东西?而不仅仅是应用程序(http)级别。这一切步入正轨吗?有谁知道这个问题的答案吗?

不幸的是,由于无法在本地重现这个场景,我正在绞尽脑汁。

We have ASP.NET cookieless sessions (inproc), so URL contains the session id, i.e. S(dfasfdafasdfasfa)

We also have several clients going through proxy servers where it appears like our web server doesn't recognize the session id and without the session data they can't continue. I've tested our sites on open proxies and they work fine. But there is something going on with this particular client proxy server that causes this behavior.

I've examined package captures for the success and fail cases (provided by the client) and the raw HTML getting transmitted, including headers, is the same. The proxy server does not appear to be caching URLs because the correct session id is coming down.

So my thought is that IIS7 is using something in addition to the session id in the URL to determine a unique client. Perhaps something at the TCP/IP level? Rather than just App(http) level. Is this on track? Does anyone know the answer to this?

Unfortunately without being able to recreate this scenario locally I'm racking my brain hard.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

栀子花开つ 2024-10-12 16:06:34

记录请求 UrlSessionIdIsNewSession...,这应该会告诉您问题所在。

我怀疑您会看到 Url 中显示的有效会话,但未反映在 SessionId 中。如果您看到 SessionId 中反映了您期望的值,但 IsNewSession 在多个请求中为 true,则这是应用程序回收问题。

Log the Request Url, SessionId and IsNewSesssion.... that should tell you where the problem lies.

I doubt you would see a valid session presented in the Url but not reflected in SessionId. If you see the value you expect reflected in SessionId but IsNewSession is true across multiple requests, then it's an app recycle issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文