【问题标题】:is it a good practise to self host wcf service in production在生产环境中自托管 wcf 服务是一种好习惯吗
【发布时间】:2014-11-03 17:39:07
【问题描述】:

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

【问题讨论】:

    标签: c# web-services wcf


    【解决方案1】:

    每种类型的托管都适合特定的业务需求。 以下是关于何时使用由 Juval Lowy 编写的 Programming WCF Services 中的自托管服务的示例:

    需要进程时使用自托管 客户端和服务之间的(或机器)边界,以及当您使用 进程内服务——即与客户端在同一进程中。

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

    这是另一个示例,您可以使用 Nishith Pathak 的 Pro WCF 4 Practical Microsoft SOA Implementation 第二版中的 SH

    您可能还想自托管 当您希望用户桌面上的应用程序相互通信时,您的服务 点对点场景

    我认为这些是规则的例外。在其他情况下,请勿使用 SH,除非您有可以辩护的重要理由。

    【讨论】:

      【解决方案2】:

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

      “生产”并没有多说——如果您没有窗口服务器和少量客户端,并且可用性不是大问题,那么自托管可能是一个简单、肥大、足够好的解决方案。

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-23
          • 2020-06-04
          • 1970-01-01
          • 1970-01-01
          • 2019-12-02
          • 2012-01-14
          • 2011-11-15
          • 1970-01-01
          相关资源
          最近更新 更多