地址 Address

在WCF中,每个服务都有一个唯一的地址(Address)。

地址包含两个重要的元素:服务位置及传输协议。

服务位置包含目标机器名、站点、通信端口、管道(或队列),以及一个可选的特定路径或URI。

 

WCF支持下列传输协议

HTTP/HTTPS

  • HTTP地址可以使用http/https协议传输。如:
  • http://localhost:81
  • HTTP地址默认端口为80,HTTPS则为443。
  • HTTP地址可以共享一个端口,甚至一台机器

TCP

  • TCP地址采用net.tcp协议进行传输,通常它还包括端口。如:
  • net.tcp://localhost:81/MyService
  • TCP默认端口号为808
  • 两个TCP地址可以共享一个端口

IPC

  • IPC(进程间通信)地址使用net.pipe协议进行传输,它将使用Windows的命名管道机制。
  • 在WCF中命名管道机制的服务只能接受来自同一台机器的调用,使用时必须指定明确的本地机器名或者直接命名为localhost,为管道名提供唯一的标识字符串:
  • net.pipe://localhost/MyPipe
  • 在同一台机器只能打开一个命名通道,因此,两个命名通道地址在同一台机器上不能共用一个管道名。

Peer network(对等网)

MSMQ

  • MSMQ地址使用net.msmq协议进行传输,即使用微软消息队列机制。
  • 使用时必须为MSSQ地址指定队列名。如果是处理私有队列,则必须指定队列类型,但是对公有队列,队列类型可以省略:
  • net.msmq://localhost/private/MyService
  • net.msmq://localhost/MyService

Service bus

  • Windows Azure AppFabric服务总线使用sb、http或https协议传输
  • 服务总线地址必须包括服务命名空间。如:
  • sb://MyNameSpace.servicebus.windows.net/
  • 如下一些地址通信示例
    • http://localhost:81
    • http://localhost:81/MyService
    • net.tcp://localhost:81/MyService
    • ......

地址通信通常采用以下格式

[基地址]/[可选的URI]

基地址通常采用以下格式

[传输协议]://[机器名或域名][:可选端口]

WCF 服务的ABC之地址(五)的更多相关文章

  1. WCF 服务的ABC之绑定(六)

    绑定 Binding 绑定是开发人员控制WCF程序与其他消息交互的主要手段.从功能上看,绑定创建了通道工厂惑通道侦听器的堆栈对象.绑定直接惑间接创建的对象是WCF实现各种消息功能(例如,传输.安全性. ...

  2. WCF 服务的ABC之契约(七)

    契约 Contract WCF的所有服务都会公开为契约(Contract),契约与平台无关,是描述服务功能的标注方式. 服务契约(Service Contract) 服务契约描述的是一个服务,它定义了 ...

  3. WCF服务创建与使用(请求应答模式)

    不说废话,直接上代码.以下服务创建是在独立的WCF类库中,若采用WCF应程程序,定义及创建服务代码均相同,但文件名不同,是CalculatorService.svc 第一步,定义服务契约(Servic ...

  4. Silverlight动态设置WCF服务Endpoint

    2013-02-02 05:57 by jv9, 1763 阅读, 3 评论, 收藏, 编辑 去年12月收到一位朋友的邮件,咨询Silverlight使用WCF服务,应用部署后一直无法访问的问题,通过 ...

  5. WCF入门(五)---创建WCF服务

    使用Microsoft Visual Studio2012创建WCF服务,理解如下所有必要的编码,更好地创建WCF服务的概念,这里做一个简单的任务. 启动Visual Studio 2012. 单击新 ...

  6. wcf系列学习5天速成——第五天 服务托管

    今天是系列的终结篇,当然要分享一下wcf的托管方面的知识. wcf中托管服务一般有一下四种: Console寄宿:             利于开发调试,但不是生产环境中的最佳实践. winform寄 ...

  7. 创建一个简单的WCF程序2——手动开启/关闭WCF服务与动态调用WCF地址

    一.创建WCF服务器 1.创建WCF服务器的窗体应用程序 打开VS2010,选择文件→新建→项目菜单项,在打开的新建项目对话框中,依次选择Visual C#→Windows→Windows窗体应用程序 ...

  8. WCF学习之旅—WCF服务部署到应用程序(十)

    上接  WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...

  9. WCF服务二:创建一个简单的WCF服务程序

    在本例中,我们将实现一个简单的计算服务,提供基本的加.减.乘.除运算,通过客户端和服务端运行在同一台机器上的不同进程实现. 一.新建WCF服务 1.新建一个空白解决方案,解决方案名称为"WC ...

随机推荐

  1. ClamAV

    ClamAV 简介以及适用范围 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除,至多删除文件.ClamAV可以工作很多的平台上,但是有少数 ...

  2. #define用法集锦[修正版]

    http://pan.baidu.com/s/1qWEuiCG

  3. Linux根文件系统的制作

    转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及 ...

  4. maven添加jetty插件

    pom.xml中增加jetty的配置 <properties> <jetty-version>8.1.13.v20130916</jetty-version> &l ...

  5. storm 分组

    Stream Groupings: Stream Grouping定义了一个流在Bolt任务间该如何被切分.这里有Storm提供的6个Stream Grouping类型: 1. 随机分组(Shuffl ...

  6. WPF 之 后台设置Image的Souce

    后台动态设置Image的Souce. 方法一: BitmapImage imgSource = new BitmapImage(new Uri("location",UriKind ...

  7. iOS retain、strong、weak、assign

    iOS retain.strong.weak.assign strong与weak是由ARC新引入的对象变量属性xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和a ...

  8. [Java] Web开发HTTP状态码整理

    HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.它由 RFC 2616 规范定义的,并得到RFC 2518.RFC 2817.RFC 2295.R ...

  9. centos下cp -r 命令可拷贝文件夹

    LINUX命令的cp -r 和-R的区别 功能上是等价的.不加-r或者-R的时候,只拷贝文件,不拷贝文件夹:加上后则会拷贝文件夹——包括下一级的子文件夹,以及子文件夹中的子文件夹,余此类推.rm的-R ...

  10. 20145102 《Java程序设计》第2周学习总结

    20145102 <Java程序设计>第2周学习总结 教材学习内容总结 这章先介绍了基本类型,和其他语言相似,分为short整数(2字节).int整数(4字节).long整数(8字节).f ...