为什么每次访问同一个ASP.Net页面时,HttpContext.Current.Session都会发生变化?

本文关键字:Session Current HttpContext 变化 访问 同一个 ASP Net 为什么 | 更新日期: 2023-09-27 18:02:14

场景如下

我有一个页面,比如login。aspx有一个名为login的按钮,在点击该按钮的事件时,当我检查SessionID时它会显示一个特定的值,例如" a "

现在我正在呼叫某个外部页面,然后该页面再次调用此页面。

例如,一旦我点击登录按钮,我调用twitter应用程序,当用户授权它时,我被重定向回同一页面,但现在当我访问SessionID时,它是一个新的ID。

我不知道为什么会发生这种情况,我只想有相同的SessionID

为什么每次访问同一个ASP.Net页面时,HttpContext.Current.Session都会发生变化?

是否向会话添加任何数据?您需要这样做的会话ID"粘"

您没有多个web服务器,是吗?

如果是这样,如果你没有使用共享会话状态提供者,你会倾向于看到这种行为。

编辑。

好的,下一个问题…

Twitter授权返回的URL是否使用完全相同的域名?

例如,如果您的应用程序运行在http://127.0.0.1:1234/上,返回URL是http://localhost:1234/?

Edit2:是的?

当你在127.0.0.1上从Twitter应用程序重定向回来时,ASP。. NET会话cookie没有被传递回web服务器,因为域名不同。

你需要应用运行的域名来匹配Twitter回调URL。

将Twitter回调URL重新配置为localhost:1234,我想你应该没问题。