场景:我有一个在 Silverlight (4) 中开发的 PRISM 应用程序,并且我正在使用 ASP.NET 服务器端应用程序来托管多个 Web 服务(反过来,它访问 WCF 服务,但这在这里并不重要)。Silverlight 应用程序必须能够跨域调用 Web 服务(这意味着 Web 服务不一定在托管 silverlight 应用程序的同一台服务器上)。
Silverlight 应用程序由几个模块组成,每个模块都访问 ASP.NET Web 服务。
我对 Silverlight 和 PRISM 没有太多经验,但据我所知,这并不是一个非常不寻常的场景......
问题:我的挑战是,当 2 个不同的模块访问 Web 服务时,我会在 Web 服务器上获得 2 个新会话。我会认为由于两个模块都存在于同一个 HTML 页面上(然后也在同一个浏览器会话中),它们会在网络服务器上获得相同的会话......?
我试图通过注册一个实例(使用 Container.RegisterInstance),然后在模块需要进行 Web 服务调用时获取该实例(使用 Container.Resolve),但这似乎没有帮助。
但是,在同一模块中进行的任何调用始终会在服务器上获得相同的会话。
谁能看到我在这里想念的东西......?
谢谢!
乔恩