ServiceHost 和 WebServiceHost 有什么区别?



对于.Net4,以下之间有什么区别吗

Uri baseAddress = new Uri("http://localhost:8080/test");
ServiceHost host = new ServiceHost(typeof(TestService), baseAddress);
host.Open();

Uri baseAddress = new Uri("http://localhost:8080/test");
WebServiceHost host = new WebServiceHost(typeof(TestService), baseAddress);
host.Open();

所有的书都建议使用webServiceHost,但为什么我看不到区别?

WebServiceHost类基于ServiceHost类。

默认情况下,它附带WebHttpBindingWebHttpBehavior。(好的是,为了简单使用,您不需要配置文件。)

来自MSDN:

当您使用WebServiceHost而不是ServiceHost时,它将使用基本HTTP地址自动为您创建一个Web端点,并使用WebHttpBehavior 配置注入的端点

当您拥有服务类型时,可以使用WebServiceHost(Object, Uri[])构造函数,并且您可以在需要时创建它的新实例,即使您需要一个singleton实例。仅当您希望服务主机使用服务的特定单例实例时,才使用ServiceHost(Object, Uri[])构造函数。

最新更新