场景: 我有一个在Silverlight(4)中开发的PRISM应用程序,并且我使用ASP.NET服务器端应用程序来托管多个Web服务,反过来,访问WCF服务,但这并不重要)。 Silverlight应用程序必须能够调用Web服务跨域(这意味着Web服务不一定位于托管Silverlight应用程序的同一台服务器上)。在Silverlight中使用ASP.NET会话状态(PRISM)
Silverlight应用程序由几个模块组成,每个模块都访问ASP.NET Web服务。
我没有太多的经验与Silverlight和PRISM,但据我所看到的,这并不是一个非常不寻常的场景......
问题: 我challange是,当两个不同的模块访问Web服务,我在Web服务器上得到2个新会话。我会认为,因为两个模块都在同一个HTML页面上(然后也在同一个浏览器会话中),他们会在Web服务器上获得相同的会话......?
我试图通过注册一个实例(使用Container.RegisterInstance)在容器中使用全局可用的Web服务代理客户端(使用Unity),然后在模块需要创建Web时获取此实例 - 服务调用(使用Container.Resolve),但这似乎没有帮助。
但是,在同一模块内进行的任何调用总是在服务器上获得相同的会话。
任何人都可以看到我在这里失踪...?
谢谢!
Jon