6

感谢 Stack Overflow 和其他一些站点,我了解了 WCF LIbrary 和 WCF 服务应用程序模板之间的区别。

简而言之,库是一个 DLL,它允许多种类型的宿主。它没有 .svc 文件。虽然服务应用程序模板是使用 .svc 文件在我的 IIS 中专门创建的。

我读到 WCF 服务库是最好的方法,因为它是最灵活的。但除了使用 WCF 服务应用程序模板之外,我从未看到有关如何执行此操作的说明。

从 WCF 服务库到从头开始托管在 IIS 上是否困难?我有两本关于 WCF 的书,并且我读过很多文章,但没有一篇文章涉及如何仅使用 WCF 服务库和无 WCF 服务应用程序来创建 svc 文件。为什么?

Nigel Shaw 还在以下链接中提到使用 Library 选项存在限制。WCF 服务库的目的是什么?

基本上我想做的是在 IIS 和 Windows 服务上托管 WCF 服务。由此看来,组合方式是最好的方式。不过,我试图了解为什么没有更多关于使用 WCF 服务库的说明。

好的,我确实找到了几篇似乎使用 ASP.NET Web 应用程序的文章,并告诉您如何为 svc 文件创建文本文件。

本文:http ://debugmode.net/2010/12/25/wcf-service-library-creating-hosting-and-sumption-wcf-service-with-wcf-service-library-project-template/

这个:http ://danielvanwyk.wordpress.com/2010/04/30/create-host-and-consume-a-wcf-service-using-the-wcf-service-library-template-in-visual-工作室-2008/

但我仍然不明白的是为什么仍然需要 ASP.NET 应用程序?如果我添加一个 svc 文件,它是否会放置在 wwwroot 目录中(这似乎是 WCF 服务应用程序放置它的 .svc 文件的位置?

谢谢!

4

1 回答 1

8

必须托管 WCF 服务库才能使用 - 您可以将其托管在 IIS、Windows 服务或一些自托管选项(如控制台应用程序、WinForm、WPF 等)中。

在您提供的最后两个链接中,它们演示了如何在 ASP.NET 服务应用程序中托管该库,但您不必使用该项目模板来托管它。这只是几个选项中的一个。

您可以在不使用 VS 项目模板的情况下创建类库的 IIS 托管实现,但您需要手动添加 .svc 文件和 Web.config。我已经这样做了好几次了:

  1. 创建一个文件夹(我通常把我的文件夹放在 的wwwroot文件夹中inetpub,但你可以把它放在任何你想要的地方)。
  2. 在您在步骤 1 中创建的bin文件夹中创建一个文件夹,并将 WCF 服务库和任何其他所需的程序集放入其中。
  3. 在步骤 1 中创建的文件夹中添加带有适当标记的 .svc 文件。
  4. 在步骤 1 中创建的文件夹中添加具有适当服务模型配置的 Web.config。
  5. 在 IIS 中创建一个指向您创建的文件夹的应用程序。

现在,您拥有了一个由 IIS 托管的服务实例。然后,您可以为您的 Windows 服务托管实例使用 WCF 服务库的另一个副本。

于 2013-11-14T01:04:21.143 回答