我需要能够在Silverlight应用程序中使用WCF会话功能。目前Silverlight仅支持basicHttp绑定,因此这是不可能的。我的想法是创建一个具有wsHttp功能的中间部分,它将为我处理Sessions,我的无会话Silverlight应用程序可以传递SessionID guid。
这甚至可能吗?如果是这样,它将如何实施?
答案 0 :(得分:1)
尼古拉斯·艾伦(Nicholas Allen)刚刚发表了类似的文章:http://blogs.msdn.com/drnick/archive/2008/10/08/working-with-session-state.aspx
你的意思是Session在“类似ASP.NET”的会话中吗?如果是这种情况(并且您在IIS中使用基于HTTP的绑定和托管),则可以在ASP.NET兼容模式下运行您的服务。
他提到的另一件事可能是让你的WCF服务更像是一个WCF服务,就是基于IInstanceContextProvider创建一个自定义行为。移动部件很少:您必须将会话保存到非易失性存储器中,并在消息头中放置会话标识符以在服务端匹配它们(使用可以使用消息合同)但它仍然存在一些您的服务的WCF。
祝你好运!