![]() |
1
11
默认情况下,会话不能在不同的应用程序之间共享。据我所知,你有两个不同的应用程序
就像往常一样 workarounds 你可能会觉得有用。正如您所看到的,它使用了一种黑客(反射)来规避ASP.NET团队设计器不公开某些类和属性的决心,并使我们作为开发人员的生活变得困难。 |
![]() |
2
6
尝试this:- 我只是改变了程序。
然后将web.config修改为:-
谢谢。 |
![]() |
3
3
更新:这是我之前关于这个话题的一篇文章 Sharing sessions across applications using the ASP.NET Session State Service 如前所述,会话数据的作用域是应用程序。这就是您在IIS中创建的应用程序。因此,由于应用程序作用域的原因,具有相同会话id的两个应用程序将不会共享同一会话。 作为一个可能对你可行也可能不可行的备选方案。 您可以创建一个根应用程序,并将D:\App1和D:\App2的代码放在两个子文件夹中。
然后在IIS中创建一个指向d:\Root的应用程序。
您还可以在IIS中创建一个应用程序,然后在该应用程序下创建两个虚拟目录,一个指向D:\App1,另一个指向D:\App2,然后它们还可以共享一个虚拟目录
所以你的硬盘布局可能是这样的
这两种情况下的效果都是,实际上将一个应用程序分成两个部分,两个部分都在同一会话范围内,因此两个部分的代码可以共享相同的会话数据。 |
![]() |
4
2
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q325056 我们目前也遇到了类似的问题,只是我们使用的是iis7.5,应用程序路径对我们来说是隐藏的(不再使用元数据库)。有人知道用iis7.5解决这个问题的方法吗? |