我已经在各个地方遵循了建议,包括在stackoverflow上发布的有关在WCF服务和ASP.NET网站之间共享会话状态的其他问题,但无法让我的特定方案工作:
网站和WCF服务都是IIS 7中同一应用程序的虚拟目录,并且都共享一个应用程序池。该网站将一些数据存储到会话中。在客户端上呈现的Flash对象调用WCF服务。我希望WCF服务能够访问会话中的数据。
我已将[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]属性放在服务类上,并且我在该服务的web.config中有以下行:
并且在绑定上我有allowCookies =“true”。
所有服务器端代码都是用C#编写的。
但是,当从WCF服务使用HttpContext.Current.Session时,我发现会话对象中没有存储密钥。
我已经与Fiddler一起检查了,并且flash对象肯定会通过ASP.NET_SessionId传递,其值与浏览器使用的网站请求值相同。
任何人都可以了解如何使这种情况有效吗?
感谢。