首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServiceHost是什么?

ServiceHost是什么?
EN

Stack Overflow用户
提问于 2009-05-03 03:09:36
回答 2查看 46.8K关注 0票数 39

由于我目前正在学习使用WCF服务,我经常在互联网上遇到一些教程,其中提到在使用WCF服务时使用ServiceHost

这个ServiceHost 到底是什么?

在我当前的项目中,我使用一个WCF服务,并从我的应用程序中引用它,每当我想从我的应用程序中使用它的时候,我就像这样实例化它的ServiceClient

代码语言:javascript
复制
new MusicRepo_DBAccess_ServiceClient(new InstanceContext(instanceContext), customBinding, endpointAddress);

然后从该实例访问我的web方法(OperationContract)(显然,在使用该方法之前先打开它,然后用OpenClose关闭它)

我的WCF服务是我的IIS中的主机,我只是从我的应用程序中访问.svc来实例化ServiceClient

那么,为什么和在哪里使用ServiceHost呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-03 03:27:09

ServiceHost基本上为您提供了在非IIS中承载WCF服务或设置WCF服务所需的一切。ServiceHost的一个常见位置是在控制台应用程序或Windows服务中。有关如何在控制台应用程序中设置ServiceHost,请参阅MSDN中的示例代码。

票数 33
EN

Stack Overflow用户

发布于 2009-05-03 08:15:10

您的服务实现只是一个.NET类--您需要为它创建一个运行时环境,以便可以以某种方式执行它。这就是ServiceHost的作用--它将加载您的服务类,设置端点和通道侦听器等等,从而为您的服务类提供一个生存和运行的“生态系统”。

您可以在控制台应用程序、Windows服务甚至Winforms应用程序中实例化ServiceHost类,从而使您的WCF服务类可供外界使用--也可以将该工作委托给IIS或曾经使用。即使是IIS或WAS也会使用ServiceHost来托管您的WCF服务--他们只是在幕后自动地这样做,并在WCF服务的请求出现时使用“随需应变”。

Marc

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/816211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档