第二章:WCF基础(3)

[size=large][color=red]原文:[url]http://www.wcftutorial.net/Introduction-to-WCF.aspx[/url][/color][/size]

[size=x-large][color=orange]契约和服务托管Contracts and Service Host[/color][/size]

[size=large][b]契约Contracts[/b][/size]
在WCF中,所有的服务是通过契约来公布出去的,契约是平台无关性的,用来描述服务的作用,在WCF中有4种主要的契约。

[b]服务契约Service Contract[/b]
服务契约描述该服务可以提供的操作,例如,一个通过邮编号来确认城市气温的服务,这个服务就是服务契约,可以通过特性服务和操作契约属性。

通过服务契约来了解更多

[b]数据契约Data Contract[/b]
数据契约描述了公布给客户端的数据类型,定义了服务接受和响应的数据类型,int,string这些类型因为在XML schema中定义过了,所以客户端可以识别,但是自定义的类或者数据类型没办法被客户端识别,比如,Employee类型,通过使用数据契约,可以通知客户端接受或者返回自定义类型。

通过数据契约来了解更多

[b]消息契约Message Contract[/b]
WCF使用默认的SOAP协议来使客户端和服务端进行通信,如果这不符合你的需求,你可以自定义消息格式,可以使用消息契约属性来实现。

通过消息契约来了解更多

[b]失败契约Fault Contract[/b]
加入在客户端应用的调用中,服务端出现了问题,我希望得到出现问题的具体原因,我如何得到这个错误信息呢?为此,我们得使用错误契约,错误契约在发生错误的时候负责提供文档给客户端,这将对我们很容易了解错误的发生原因。

通过错误契约来了解更多

[size=large][b]服务托管[/b][/size]
服务托管对象Service Host是托管WCF服务的一个进程,并且注册终结点,它将会装载文件点的配置文件,适用setting,并且监听请求,System.ServiceModel.ServiceHost命名空间有这些类型,这些对象由WCF自托管服务创建。

下面这个例子是控制台应用程序使用自托管创建WCF服务。


//Creating uri for the hosting the service
Uri uri = new Uri("http://localhost/CategoryService");
//Creating the host object for MathService
ServiceHost host = new ServiceHost(typeof(CategoryService), uri);
//Adding endpoint to the Host object
host.AddServiceEndpoint(typeof(ICategoryService),new WSHttpBinding(), uri);
host.Open(); //Hosting the Service
Console.WriteLine("Waiting for client invocations");
Console.ReadLine();
host.Close();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值