gpt4 book ai didi

c# - 结合 WCF 服务库和 WCF 服务应用程序

转载 作者:太空狗 更新时间:2023-10-29 21:22:41 26 4
gpt4 key购买 nike

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

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

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

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

Nigel Shaw 还在以下链接中提到使用“库”选项存在限制。 What is the purpose of WCF Service Library?

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

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

本文:http://debugmode.net/2010/12/25/wcf-service-library-creating-hosting-and-consuming-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-studio-2008/

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

谢谢!

最佳答案

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

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

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

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

现在您有一个 IIS 托管的服务实例。然后,您可以将 WCF 服务库的另一个副本用于您的 Windows 服务托管实例。

关于c# - 结合 WCF 服务库和 WCF 服务应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com