在生产中自我托管wcf服务是一种很好的做法

时间:2014-11-03 09:07:28

标签: c# web-services wcf

我正在创建一个WCF服务,我想自己在生产中托管它,这可能吗?如果可能的话,这是一个很好的做法,我在网上搜索过,我发现了很多解释,但没有关于生产中自助托管服务的参考。请提出你的建议。

3 个答案:

答案 0 :(得分:1)

每种类型的托管都适合特定的业务需求。 以下是使用Juval Lowy的编程WCF服务的自托管服务的示例:

  

如果您需要流程,请使用自托管   (或机器)客户端和服务之间的边界以及您使用时的边界   服务进程 - 即与客户进行相同的过程。

简单的答案是:不,这不是一个好习惯。 但这并不意味着,没有任何可以使用它的场景,特别是在一些不复杂的情况下。记得保持简单愚蠢(KISS)。不要在你的解决方案中引入复杂性。

这是另一个例子,当你可以使用来自 Pro WCF 4实用微软SOA实施的第二版时,由Nishith Pathak

  

您也可能想要自托管   希望用户桌面上的应用程序相互通信或在中进行通信时的服务   点对点场景

我认为这些是规则的例外情况。在其他情况下,不要使用SH,除非你有明显的理由可以保护。

答案 1 :(得分:1)

虽然可以进行自托管,但使用主机(例如IIS)通常要容易得多,因为在实现过程中会投入大量的工作和思想,从而形成一个强大且可扩展的托管解决方案。

"生产"没有多说 - 如果你没有窗口服务器和少量客户端,并且可用性不是大问题,那么自托管可以是一个简单的,脂肪,足够好的解决方案。

答案 2 :(得分:1)

技术上可行(主要取决于服务器的负载和所需的功能),但恕我直言,使用IIS更好,它更可靠,可监控,并在许多方面进行了优化。

示例:如果您的自托管服务进程崩溃,请手动重新启动它吗?你为此写了一个守护进程? IIS处理(当然)。

对于小的需求,如果你不想使用IIS,它仍然可以使用自托管但是 我认为使用SH而不是IIS没有任何实际优势。