WCF 服务库和 WCF 服务应用程序之间的区别

Posted

技术标签:

【中文标题】WCF 服务库和 WCF 服务应用程序之间的区别【英文标题】:Diff between WCF service library and WCF service application 【发布时间】:2013-02-03 08:05:47 【问题描述】:

我想在我的 WPF 项目中使用 WCF 服务 (.svc)。, 我正在尝试创建服务。但在 Visual Studio 中,我们有“WCF 服务库”和“WCF 服务应用程序”。我都试过了。

当我们创建“WCF 服务应用程序”时,我们将获得 .svc 文件。当我们托管时,我们将获得 .svc 文件作为服务引用。

但是“WCF 服务库”项目呢? 当我创建这个时,我只有 .cs 文件,我尝试添加新的 .svc 文件,但我们没有添加 .svc 文件的选项。 请指导我如何在我的 WPF 应用程序中使用“WCF 服务库”项目创建的服务

【问题讨论】:

WCF 服务库是一个 DLL。它必须被托管(IIS、自托管、Windows 服务等)。 WCF 服务应用程序就是这样 - 一个 IIS 托管的 WCF 服务。 WCF 服务库使您能够以多种方式托管相同的服务,而无需在每个实例中重写相同的代码。 OK.. WCF 服务库是一个 DLL。我将在 service.cs 中编写我所有的 API,我想将此服务 dll 添加到我的 wpf 应用程序中。如果我使用 .svc,我可以使用“添加服务引用”添加,那么 service.cs dll 呢?我们添加普通“dll”文件的方式是否相同 您希望 WPF 应用托管服务,还是调用服务? 调用服务 另见此问题:***.com/questions/1204365/… 【参考方案1】:

在 WCF 服务库中创建的服务可以使用多个范例进行托管。以下链接(相当旧)解释了组织 wcf 服务的各种方法。

http://msdn.microsoft.com/en-us/library/bb332338.aspx

请注意,如果您在 IIS 中托管 wcf 服务,则需要 .svc 文件。您可以编写自己的主机,不需要 .svc 文件

【讨论】:

OK.. WCF 服务库是一个 DLL。我将在 service.cs 中编写我所有的 API,我想将此服务 dll 添加到我的 wpf 应用程序中。如果我使用 .svc,我可以使用“添加服务引用”添加,那么 service.cs dll 呢?我们添加普通“dll”文件的方式是否相同 如果这是 .NET 4.0+,则不再需要 .svc 文件在 IIS 中托管。 @Tim,谢谢.... Anusha,对于 dll 中的服务,您必须先找到一种托管服务的方法,然后才能将其用作 Web 服务。在那之前,它们都是简单的服务定义类。对于您的情况,我建议您使用 WCF 服务应用程序。另外,请阅读很多关于 WCF 的文章,因为它是一片广阔的海洋 感谢 Dhawalk。,我使用“WCF 服务应用程序”做了一个项目,托管在服务器中,我在我的应用程序中引用了这些 .svc 文件并调用服务。现在我正在检查如何处理“WCF 服务库”:) 这里有一个代码项目链接,可能对codeproject.com/Articles/38160/…有帮助

以上是关于WCF 服务库和 WCF 服务应用程序之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

结合 WCF 服务库和 WCF 服务应用程序

WCF 服务、WCF RIA 服务和 WCF 数据服务之间的区别

如果我要在 IIS 中托管 WCF 服务,使用 WCF 服务而不是 WCF 库有啥好处?

WCF 休息和 Wcf 肥皂服务之间的区别

WCF Web API 和 WCF 数据服务之间的区别

WCF、Web API、WCF REST 和 Web 服务之间的区别?