在Visual Studio 2010中,有两个选项可用于创建WCF服务。第一个是File | New | Projects... | WCF | WCF Service Application
。第二个是通过File| New | Web Site... | Visual C# | WCF Service
。他们两个看起来都一样。这两个项目之间究竟有什么不同?
答案 0 :(得分:4)
上述链接的信息如下:
服务应用程序包括已为您设置的网站主机。服务库是主机可以引用和启动的服务库。
如果您从服务库(推荐)开始,您可以选择您想要的任何主机(Windows服务,IIS / ASP.NET,甚至是控制台应用程序),您只需从新主机中引用您的库。选择服务应用程序会将主机限制为仅IIS / ASP.NET(尽管这可能适用于您的目的,但会限制您可以使用的协议)。
编辑:自从我写这篇文章以来,IIS中的更改允许在ASP.NET激活的服务上使用更多种协议,因此选择服务应用程序的限制比之前要少得多。
你所拥有的只是我看到的一个项目,如果你把它分开就会增加复杂性。当我有一些特定的用例时,我使用了一个库,我必须在Windows服务和IIS中托管。
对于IIS,您可以将类和接口移动到库,但将.SVC文件保留在Web项目中。您必须编辑.SVC文件以指向正确限定的类。
此致
Karan Shah
答案 1 :(得分:0)
一个是从File |创建WCF服务的网站新的|网站... | Visual C#| WCF服务和另一个是用于创建WCF服务应用程序的项目。
服务库是主机可以引用和启动的服务库。服务应用程序包括已为您设置的网站主机。 如果您从服务库开始,您可以选择任何您想要的主机,例如Windows服务,IIS / ASP.NET,甚至是控制台应用程序,并且您只需从新主机引用您的库。选择服务应用程序会将主机限制为IIS / ASP.NET。