【问题标题】:Regarding wcf service hosting关于 wcf 服务托管
【发布时间】:2012-10-26 18:20:27
【问题描述】:

我是 wcf 的新手并开始学习。我有一个困惑,我创建了一个小型 wcf 服务,只是不在 IIS、控制台应用程序或 win 服务中托管它,但从另一个应用程序我可以添加 svc 文件的服务引用并发现它正在工作。如果 wcf 无需在“IIS、控制台应用程序或 win 服务”之类的任何地方托管即可工作,那么为什么人们总是在 IIS、控制台应用程序或 win 服务中托管 wcf 服务。谁能告诉我原因。

【问题讨论】:

  • “来自其他应用程序”是什么意思?这不是和控制台应用程序一样吗?​​
  • 我开发了两个应用程序一个 wcf 服务和另一个控制台应用程序。从我的控制台应用程序中,我只是添加了 web 服务引用,提供了像“localhost:21541/Service1.svc”这样的服务 URL,我看到我可以创建和调用服务实例。因此,当我们没有在任何地方托管 wcf 服务时,我们可以调用,那么为什么人们托管 wcf 服务。谢谢
  • 在 IIS 中托管 Web 服务既简单又非常方便。我喜欢直接从 VS 快速将应用程序发布到这些服务器的方式。我也喜欢我不需要关心权限,因为 IIS 负责。我不需要在配置中指定任何端点,因为端点始终是托管服务的 IIS 中的 Web 应用程序。通常也可以快速设置。对于基于客户端-服务器的应用程序,我认为这样做没有任何优势。您必须确保您的应用程序始终运行并在它崩溃时重新启动它,IIS 会免费这样做。

标签: wcf


【解决方案1】:

人们通常使用 IIS 和 Windows 服务,因为它们更易于设置和更一致地运行。它们也可以更容易地托管在可以将服务配置为自动启动的服务器上,并且通常 wcf 用作服务器通信方法,这通常是您想要做的。

当您想在本地测试服务时,在控制台应用程序中托管通常更容易设置用于测试目的的简单示例。

虽然尽可能托管在应用程序中,但使用 wcf 在同一台机器上的 2 个应用程序之间进行通信的情况不太常见。

编辑:

您最初的问题是为什么人们总是谈论 IIS、服务等。我的意思是 wcf 通常用于 Web 服务,并且通常在本地计算机以外的服务器上运行。尽管它可以用于同一台机器上的进程间通信,但这并不是最常见的用例。这就是为什么您会看到很多使用 IIS 的示例,而在 Windows 窗体应用程序中托管它的示例不多。

【讨论】:

  • 我不清楚你说的一件事:“wcf 服务也可以更容易地托管在可以将服务配置为自动启动的服务器上”。你在谈论什么服务器。以及如何将服务配置为自动启动。你能更详细地解释一下你所说的服务器和配置吗?
猜你喜欢
  • 2011-09-18
  • 1970-01-01
  • 2013-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多