如何“在进程中”运行我的WCF服务库

时间:2017-11-04 00:18:17

标签: c# .net rest web-services wcf

我在Windows服务中启动并运行WCF CRUD REST API。一切都很好。

我想为用户提供在进程中运行的能力;所以,我不想运行服务(需要管理员),而是希望有一个静态库版本。

使用.NET(C#),我该怎么做?现在我有:

ServiceLib (interesting code)
ConsoleHost
GUI

我希望GUI能够选择性地将ServiceLib代码作为完整的Windows服务运行 - 或者 - 就像进程内代码一样。服务方式已经有效,我认为更难。

1 个答案:

答案 0 :(得分:0)

如果你现在在Windows服务中运行它已经自托管了,我想?如果GUI应用程序将是唯一使用"进程中的服务"模式,您可以拆分" WCF CRUD REST API" ServiceLib分为两个 - 一个实现CRUD部分,另一个实现WCF REST API。在GUI中,您只需要CRUD部分,因此无需在同一个(也是唯一的)应用程序中自行托管REST API。

从系统管理员的角度来看,将GUI应用程序作为Windows服务运行通常是一个非常糟糕的主意。我经常运行可以是WCF托管Windows服务或只是WCF主机的控制台应用程序,但它们唯一的GUI是对Ctrl-C做出反应的能力。