码迷,mamicode.com
首页 > 其他好文 > 详细

菜鸟学习WCF笔记-Address

时间:2014-10-28 12:07:57      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:style   http   color   os   使用   sp   strong   on   bs   

 

终结点是WCF最为核心的对象,因为它承载了所有通信功能。服务通过相应的终结点发布出来,客户端通过与之匹配的终结点对服务进行调用。终结点有地址、绑定和契约ABC三要素构成。

Address 

作为终结点的三要素之一地址(Address),在基于WCF通信中不仅仅用于定位服务,还提供额外的寻址信息,同时还包含着用于进行服务认证的服务身份信息。

其地址的URL规则如下:

[传输协议(Scheme)]://[主机名称|域名|IP地址]:[可选端口]/请求资源

如:http://test.com:81/testservices.svc

传输协议为:http

主机名称:test.com

端口:81

请求资源路径:testservices.svc

 

WCF下典型传输协议:

HTTP/HTTPS  (提供简单请求回复、无状态、无连接)

Net.Tcp  (有连接的传输协议(通过客户端和服务端握手),有状态,支持双工通信,支持可靠通信)

Net.Pipe 命名管道(Windows平台及UNIX系统下实现跨进程通信IPC的标准实现方式)

Net.Msmq 消息队列 MSMQ

 

EndpointAddress

终结点在WCF应用编程中通过ServiceEndpoint 类型表示,有三个核心属性:终结点地址,绑定,契约

表示终结点地址的Address属性是一个类型为System.ServiceModel.EndpointAddress的对象,地址的三个典型功能(服务标识、定位。辅助寻址和服务身份标识)分别对应URL、Headers和Identity三个只读属性

 

ServerHost

WCF通过serverHost完成对服务的寄宿,而被寄宿的服务通过添加到ServiceHost的终结点暴露出来成为可调用寻址和调用的资源。

 

服务的调用

客户端通过服务代理(Service Proxy)、借助SvcUtil.exe、添加服务引用等方式,生产核心类是继承自ClientBase<TChannel>。

ClientBase<TChannel>针对服务的调用实际上是通过只读属性Channel表示内部代理实现的,这个内部代理则是通过只读属性ChannelFactory 返回的ChannelFactory<TChannel>对象来创建的。

 

HTTP.SYS

IIS6.0通过引入HTTP.SYS采用了一种全新的监听机制(之前是InetInfo.exe),严格来说HTTP.SYS不属于IIS的范畴之内,它是一个用于监听网络请求的网络驱动。HTTP.SYS运行于内核模式下,使IIS在性能和稳定性方面较之前的版本都有较大的改进。

IIS和其他WEB应用均可以使用它来作为自己的监听器,从而实现端口共享。

HTTP.SYS的端口共享仅仅正对HTTP协议,对于采用TCP的服务,需要通过其他的寄宿方式来实现。

 

菜鸟学习WCF笔记-Address

标签:style   http   color   os   使用   sp   strong   on   bs   

原文地址:http://www.cnblogs.com/woxpp/p/4016095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!