从Tomcat到ASP.Net的会话转移问题

时间:2009-11-14 11:44:00

标签: c# jsp tomcat visual-studio-2008 iis-7

我使用Tomcat来托管JSP并使用IIS 7.0来托管aspx(C#+ .Net 3.5 + VSTS 2008),并且我从JSP页面到ASPX页面有一些会话转移问题。 JSP页面位于一个域中,所有其他aspx页面位于另一个域中。问题是,我无法将会话从aspx网页A转移到aspx网页B.我想知道任何错误。

以下是更多详情,

  1. 我有一个jsp页面包含一些框架(到网格内容),一个框架使用aspx网页A作为框架的来源;
  2. 在aspx网页A中,在page_load中,我将初始化会话并在当前会话中保存会话变量“customerID”;
  3. 在aspx网页A中,我有一个指向aspx网页B的链接点(A和B属于Web服务器上的同一个IIS 7.0网站);
  4. 我发现当加载jsp页面时,aspx网页A的会话将在asp.net page_load方法中正确初始化,并且页面A的内容可以在jsp页面中正确显示为框架;
  5. 问题是,当用户在jsp页面内的框架中单击网页B链接(在aspx网页A中)时,网页B无法在步骤4中初始化会话。
  6. 是否通过设计会话无法通过?我的困惑是为什么会话信息无法从aspx页面A传递到aspx页面B,因为它们都属于同一个IIS 7.0网站?

    BTW:我已经测试过,如果我直接在IIS 7.0中访问aspx网页A,然后单击链接到aspx页面B以访问页面B,会话可以正确地传递到页面B.

1 个答案:

答案 0 :(得分:1)

每个AppDomain都会保留会话。在IIS中,您可以拥有多个应用程序池,这些应用程序池在同一站点中承载不同的ASP.NET ASP.NET应用程序托管在具有与之关联的应用程序池的虚拟目录中。如果页面A和页面B属于IIS中的不同应用程序池,则无法在它们之间共享会话。