首先,要明白宿主是什么,为什么要创建宿主程序。WCF宿主
宿主:通俗的说就是,当我们写好了一个服务之后,要有地方放它,才能让客户端调用的时候找到它,这就是宿主,它是一种媒介,是一个位置。WCF在运行时必寄宿在“宿主程序”之上,WCF本身不能够独自运行(每个WCF服务必须宿主在一个Windows进程中)。而我们最熟悉的发布到IIS服务器上,其实IIS也是一种宿主。也就是说,WCF想要向外提供服务,那么就需要一个宿主来容纳这些服务。
Endpoint 终结点:
当我们寄存WCF服务的时候,我们必须定义一个或多个终结点,然后service端通过监听这些终结点来处理client发来的请求。A、B、C时Endpoint的组成部分,他是服务通信调用的入口。
服务三要素:A、B、C
A(Address)是Endpoint的网络地址,它标记了消息发送的目的地。
B(Binding)描述的是如何发送消息,例如消息发送的传输协议(如TCP,HTTP),安全(如SSL,SOAP消息安全)。
C(Contract)则描述的是消息所包含的内容,以及消息的组织和操作方式,例如是单向,双向还是请求/响应方式。
地址+绑定+契约=终结点
创建宿主程序步骤:
1、创建控制台应用程序,并引入程序集System.ServiceModel和创建绑定的System.ServiceModel.Channels
2、创建自定义host类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Channels;
using WCFHelloService;
namespace WCFHelloHost
{
class Program
{

本文介绍了WCF服务宿主的概念,强调了其作为服务与客户端通信媒介的重要性。通过详细解释服务的Endpoint(地址、绑定、契约)三要素,阐述了如何定义服务的通信方式。同时,给出了创建自定义宿主程序的步骤,包括创建控制台应用并引入相关程序集,最终实现WCF服务的运行。
最低0.47元/天 解锁文章
1728

被折叠的 条评论
为什么被折叠?



