托管wcf服务意味着什么?

时间:2009-07-10 09:17:23

标签: wcf

我想知道在创建ServiceHost类的实例时会发生什么? 它做了什么?

3 个答案:

答案 0 :(得分:2)

ServiceHost(无论是由您自己直接实例化,还是将该作业委托给IIS / WAS)都是WCF类的运行时环境 - 毕竟这只是一个简单的.NET类(需要在某处运行)。

ServiceHost基本上提供围绕WCF服务的所有“管道” - 在这些端点上创建端点和侦听器以侦听消息并在它们进入时捕获它们;它提供从传输级别到WCF的所有层到解串器的整个通道堆栈,然后调度程序决定调用哪个类和哪个方法,等等。

在WCF中,在您的服务类中,您只编写服务的实际业务逻辑 - ServiceHost及其周围的所有类处理接收消息和发送响应等的所有细节。 / p>

马克

答案 1 :(得分:1)

如果您没有使用IIS或Windows激活服务(WAS),通常ServiceHost类用于在独立应用程序(例如控制台应用程序)中托管您的WCF服务。

简单来说,它将处理COM(侦听特定服务的消息)。

您还可以从ServiceHost派生,以根据需要添加自定义,并结合ServiceHostFactory的特化。

MSDN example

HTH

菲尔'

答案 2 :(得分:1)

它创建了负责可靠传输和安全性的渠道。它侦听传入的消息并调用您的操作方法。