你的位置:首页 > 软件开发 > ASP.net > [Solution] 一步一步WCF 再解终结点Endpoint

[Solution] 一步一步WCF 再解终结点Endpoint

发布时间:2015-08-07 18:00:13
繁忙的一天又一天,不管其他,先继续WCF吧。  Endpoint包含地址,绑定,契约三要素。WCF作为一个Windows平台下最大的通信框架。通过终结点承载了所有通信功能。所以终结点的作用将非常重要。  本节,将介绍SOAAddressBingdingContractBehavi ...

  繁忙的一天又一天,不管其他,先继续WCF吧。

  Endpoint包含地址,绑定,契约三要素。WCF作为一个Windows平台下最大的通信框架。通过终结点承载了所有通信功能。所以终结点的作用将非常重要。

  本节,将介绍

  • SOA
  • Address
  • Bingding
  • Contract
  • Behavior

 

SOA

面向服务架构(Service-Oriented Architecture)代表的是一种对关注点分离的思想,对于不同的人来说具有不同的意思。

而WebService、WCF以及其他平台的Web服务则是实现SOA思想的技术手段。

SOA还是有一些基本特性是被大家共同认可的。

设计原则描述
服务契约通过契约文档,服务描述功能和目的
松耦合依赖关系最小化
抽象服务隐藏具体实现,只发布契约文件
重用一种服务可以被其他服务重用
自治服务是独立的
可发现通过服务元数据,可以来找到服务和调用服务
组合一种服务可以由其他服务组合而成

 

而WCF就是一个完全基于SOA的通信框架,WCF将目前微软所有的分布式技术统一。如.Net Remoting WebService MSMQ。

 

Address

  Address指的是System.ServiceModel.EndpointAddress。

有如下属性:

[Solution] 一步一步WCF 再解终结点Endpoint

  最核心的就是URI。它可以作为Endpoint唯一标识。

  URI的结构为:scheme://ip:point/path 如:http://127.0.0.1:10000/a/b.svc

常见的scheme有:

http/https:无状态,http默认端口80,https默认端口443

net.tcp:稳定 支持双工通信。默认端口808.

net.pipe:同一台机器,不同进程间通信。虽然命名管道本身可以实现跨平台,但在WCF中只用于同一台机器,所以ip只能为本机。

net.msmq:消息队列方式。

 

基地址:

  除了以上通过绝对地址的方式,还可以通过“基地址+相对地址”的方式进行设置。

如何设置基地址:

class Program  {    static void Main(get='_blank'>string[] args)    {      var uris = new []{new Uri("http://localhost:10000/"),new Uri("net.tcp://localhost:10001/")};      using (ServiceHost host = new ServiceHost(typeof(SomeService),uris)      {        host.AddServiceEndpoint(typeof(ISomeService),new BasicHttpBinding(),"SomeName");        host.open();        Console.Read();      }    }  }

原标题:[Solution] 一步一步WCF 再解终结点Endpoint

关键词:wcf

wcf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。