为什么HttpContext.Current.Session正在改变evertime我访问同一页面ASP.Net

时间:2011-07-13 20:24:06

标签: c# asp.net twitter

这是方案

我有一个页面让我们说login.aspx有一个名为login的按钮,在我检查SessionID时点击该按钮的事件,它显示了一个特定的值,例如“A”

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

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

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

2 个答案:

答案 0 :(得分:2)

您是否在会话中添加任何数据?您需要这样做才能使会话ID“粘住”。

答案 1 :(得分:1)

你没有多个网络服务器,对吗?

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

编辑。

好的,下一个问题......

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

例如,如果您的应用程序在http://127.0.0.1:1234/上运行且返回网址为http://localhost:1234/

Edit2:是吗?

当您从127.0.0.1上的Twitter应用程序重定向回来时,ASP.NET会话cookie不会传递回Web服务器,因为域名不同。

您需要运行该应用的域以匹配Twitter回调网址。

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