【问题标题】:Must I add a WCF service class library in order to host a WCF Service in a Windows service?是否必须添加 WCF 服务类库才能在 Windows 服务中托管 WCF 服务?
【发布时间】:2014-11-10 18:17:01
【问题描述】:

我阅读了有关如何在 Windows 服务中托管 Wcf 服务的信息。这里有一个指南: http://msdn.microsoft.com/en-us/library/ms733069.aspx

但我所做的只是在 Windows 服务的同一个项目中创建新的 WCF 服务类和接口,而不是为 Wcf 服务单独创建一个新项目。 有可能做到吗?因为我无法从解决方案中的其他项目添加对该服务的服务引用。它找不到它。

【问题讨论】:

  • 是的,您可以使用 WCF 服务库并将其托管在 Windows 服务中。但为了添加服务引用,需要运行 Windows 服务。
  • 我在“不调试的情况下启动”运行服务,但是当我尝试添加服务引用时它没有找到端点。我不明白你的评论。我必须为 Wcf 服务创建一个类库吗?或者我可以在现有的windows服务中添加一类Wcf服务?
  • 您不能像其他项目(控制台、Web、WinForms 等)一样通过 Visual Studio 运行 Windows 服务。您必须安装 Windows 服务并启动它。 那么你应该可以添加参考了。
  • 好的,我试试,虽然我以前找到了通过vs运行windows服务的方法,在对代码做了一些改动之后,我就用这种方式。 codeproject.com/Articles/10153/…

标签: wcf windows-services


【解决方案1】:

好的,这就是我找到的。

  1. 使用一个带有 Wcf 服务类和一个 Asp.Net 文件夹的 Windows 服务项目创建新的解决方案。
  2. 运行 Windows 服务。
  3. 正在尝试向 Asp.Net 项目添加服务引用。

结果:找不到服务。

  1. 将包含 Wcf 项目的新项目添加到解决方案中。
  2. 从 Windows 服务添加对其的引用。
  3. 正在尝试向 Asp.Net 项目添加服务引用。

结果:找到服务。

阅读此链接:

http://msdn.microsoft.com/en-us/library/ms731758.aspx 和我在测试解决方案中所做的类似,但仍然需要在 Windows 服务中编写一些代码。

在此链接中: http://msdn.microsoft.com/en-us/library/ms731758.aspx

他们展示了如何在不创建单独项目的情况下托管它。

所以这个问题的答案是否定的,你不能,但是你必须写一些代码来托管服务,不能只使用配置文件。

请注意,windows 服务必须正在运行,才能成功添加引用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2012-04-28
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多