WCF服务应用程序和WCF服务库之间有什么区别?

我正在开发一个WCF Web服务,我使用WCF服务应用程序模板来做到这一点。

创build“WCF服务应用程序”是否满足此要求? 通过WCF服务应用程序创buildWCF服务库的优点是什么?

服务应用程序包含已经为您设置的网站主机。 服务库是主机可以引用和启动的服务库。

如果你从一个服务库(推荐)开始,你可以select你想要的任何主机(一个Windows服务,IIS / ASP.NET,甚至是一个控制台应用程序),你只需从你的新主机引用你的库。 select服务应用程序会将主机限制在IIS / ASP.NET(尽pipe这可能适合您的用途,但会限制您可以使用的协议)。

编辑 :自从我编写这个IIS的变化允许在ASP.NET激活的服务上的更多种协议,所以select一个服务应用程序比以前less得多的限制。

如果你所拥有的只是一个项目,那么我看到的只是增加了复杂性,如果你把它分开了。 我使用了一个库,当我有一些特殊的用例时,我不得不在Windows服务和IIS中进行托pipe。

对于IIS,您可以将类和接口移动到库中,但将.SVC文件保存在Web项目中。 您必须编辑.SVC文件以指向正确限定的类。