如何从Windows服务公开Restful界面



我写了一个wcf服务来公开restful接口。
现在我使用 IIS 作为 wcf 服务主机。

除了公开 restful 之外,我还需要在应用程序上执行一些操作 - 为此,我必须将我的应用程序作为 Windows 服务运行。但是使用 IIS 作为主机不会使我的 wcf 服务器作为服务运行。

如何使使用带有暴露 wcf restful 接口服务的 windows 服务成为可能?

您可以自托管WCF服务,请参考服务主机。

为了能够在 2 种不同的主机模型中运行应用程序,您必须将托管内容与主代码分开。关键点:您可以使用在其他库项目中创建的控制器。

我以前做过这个:

  1. 创建一个库项目,并将所有控制器和其他类移动到那里。
  2. 创建空的 WFC 服务,添加对上述库的引用并使其正常工作。
  3. 创建一个空的控制台应用程序,引用库,添加自托管内容并使其正常工作。
  4. 将顶级软件包添加到控制台应用,以便能够将其安装为 Windows 服务。

所以你会得到:

  1. 生成和部署 WCF 项目,可以在 IIS 中承载它;
  2. 构建控制台应用
  3. ,可以将其作为控制台应用运行;
  4. 使用 Topshelf 安装参数,可以将控制台应用安装为 Windows 服务。

最新更新