WCF:有和没有,aspNetCompatibilityEnabled

时间:2015-12-19 20:08:28

标签: c# asp.net wcf

我的应用程序中有两个用于ajax调用的WCF服务。

第一个使用HttpContext.Current.Session,所以我必须设置

aspNetCompatibilityEnabled =" true"

在我的Web.config中。

第二个用于显示进度值,因此必须在执行代码后调用它,但是当我有aspNetCompatibilityEnabled = "true"时,它等待其他事情完成然后启动我的服务。 所以我必须设置aspNetCompatibilityEnabled =" false"

如何为第一个AND设置aspNetCompatibilityEnabled = "true" 第二个aspNetCompatibilityEnabled = "false"

UPDATE -------------

我想要的是拥有两个WCF服务。  第一:  使用aspNetCompatibilityEnabled = "true" 第二:  使用aspNetCompatibilityEnabled = "false"

1 个答案:

答案 0 :(得分:2)

来自文档:ASP.NET compatibility is enabled for the current AppDomain

您不能为每个端点设置不同的设置,因为该设置适用于您的应用运行的完整应用域。因此,您的所有端点或任何端点(WCF或其他处理程序)都不能在ASP.NET中运行兼容模式。通过它可以访问HTTP应用程序管道中的功能,或者没有人可以访问这些功能。

如果您确实需要区分这两者,则必须将端点分成两个应用程序,每个应用程序都在自己的应用程序域/应用程序池中运行。