ASP跳转到ASP.Net Session

3

我正在从一个经典的ASP页面重定向到一个不同的Web服务器上的ASP.Net页面。登陆的aspx页面似乎在postback后开始了一个新的会话,也就是说,当页面在重定向后第一次被访问时设置的会话变量,在单击页面上的按钮后被重置了。我该如何解决这个问题?提前致谢。

3个回答

2

0

微软有一个页面,解释了如何在经典ASP和ASP.NET之间共享会话数据。 您可以在这里找到它。


让我再解释一下...我不是在尝试共享状态。我是从ASP重定向到另一台服务器上的ASP.Net页面(test.aspx)。test.aspx页面创建了几个会话变量。当单击该页面上导致回发的按钮时,会话变量会丢失。如果我直接访问test.aspx页面而没有从asp页面重定向,则不会发生这种情况。 - yuben
ASP页: <%response.redirect(“test.aspx?uid = hippo”)%>ASP.Net页: Page_Load if(Session["test"] != null) Response.Write(Session["test"].ToString());
if(!Page.IsPostBack) Session["test"] = Request.QueryString("uid"); Button_Click: Response.Write(Session["test"].ToString()); Button_Click“事件”引发了空引用异常。
- yuben
还有一件事 - 如果我用一个使用两个不同服务器的ASP.NET页面替换ASP页面,它也能工作。 - yuben
谢谢,我正在使用IIS6,所以也许我会检查一下是否存在某种配置问题。 - yuben

0

好的,我查看了从ASP和ASP.Net重定向时发送到服务器的HTTP标头。我注意到在ASP.Net的情况下,会发送一个名为ASP.Net_SessionID的Cookie,而在ASP页面中没有发送此Cookie。我阅读了一些资料,发现可以将ASP.Net设置为无Cookie模式-http://msdn.microsoft.com/en-us/library/aa479314.aspx,我在web.config中添加了

    sessionState cookieless="true"

一切都很好。非常感谢您的帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接