代码之家  ›  专栏  ›  技术社区  ›  theGecko

连接WCF托管服务中的线程

  •  1
  • theGecko  · 技术社区  · 16 年前

    当托管在servicehost对象中时,有人能推荐一种“干净”的关闭WCF服务及其线程的方法吗?

    调用servicehost.Close();当服务生成其他线程时不工作:/

    抢劫

    1 回复  |  直到 16 年前
        1
  •  1
  •   tomasr    16 年前

    如果没有来自服务本身及其产生的线程的协作,您确实无法从外部安全地完成这项工作。一种选择是让服务通过可以通过主机环境控制的特殊方式生成线程,并让这些线程进一步协作,以便可以干净地关闭它们。

    此外,如果在这种情况下生成原始线程(而不是使用CLR线程池)以将其创建为后台线程,则应该小心。这有助于避免在您希望关闭进程时使其保持活动状态(尽管我仍然建议您确保干净地关闭它们)。

    推荐文章