2011-03-04 97 views
2

是否可以在Web应用程序中使用在WCF服务中创建的同一会话?任何示例代码来做到这一点?从aspx访问WCF会话

+0

http://stackoverflow.com/questions/1232000/how-to-use-asp-net-session-in-wcf – MattC 2011-03-04 13:28:43

+0

可以请澄清一下吗?所以WCF与WCF在同一台服务器上?什么绑定使用?组态?什么会话设置?哪个版本的IIS? .NET的哪个版本?使用WCF REST? ... – Aliostad 2011-03-04 13:29:31

回答

0

WCF会话存在于完全不同的上下文中 - ASP.NET和WCF之间没有关系(除非打开AspNetCompatibility)= ASP.NET不知道WCF,WCF不知道ASP.NET。所以如果你想分享ASP.NET和WCF之间的东西,你必须手动使用这两种技术以外的东西。它通常意味着在每个ASP.NET和WCF请求中传递一些自定义全局可访问(单例)“会话管理器”和自定义“会话ID”。

2

可以通过设置ASPCompatibityMode,但不应该这样做(访问WCF服务中的ASP.NET会话)。我建议你让ASP.NET应用程序使用这个服务来简单地构造一个包含所有必要信息的POCO对象,并将它发送到服务,以便服务不会强烈耦合到这个会话。在WCF服务中访问ASP.NET会话使得这个服务完全不可重用。如果您想从桌面应用程序拨打您的服务,该怎么办?