WCF 服务的ABC之地址(五)
地址 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之地址(五)的更多相关文章
- WCF 服务的ABC之绑定(六)
绑定 Binding 绑定是开发人员控制WCF程序与其他消息交互的主要手段.从功能上看,绑定创建了通道工厂惑通道侦听器的堆栈对象.绑定直接惑间接创建的对象是WCF实现各种消息功能(例如,传输.安全性. ...
- WCF 服务的ABC之契约(七)
契约 Contract WCF的所有服务都会公开为契约(Contract),契约与平台无关,是描述服务功能的标注方式. 服务契约(Service Contract) 服务契约描述的是一个服务,它定义了 ...
- WCF服务创建与使用(请求应答模式)
不说废话,直接上代码.以下服务创建是在独立的WCF类库中,若采用WCF应程程序,定义及创建服务代码均相同,但文件名不同,是CalculatorService.svc 第一步,定义服务契约(Servic ...
- Silverlight动态设置WCF服务Endpoint
2013-02-02 05:57 by jv9, 1763 阅读, 3 评论, 收藏, 编辑 去年12月收到一位朋友的邮件,咨询Silverlight使用WCF服务,应用部署后一直无法访问的问题,通过 ...
- WCF入门(五)---创建WCF服务
使用Microsoft Visual Studio2012创建WCF服务,理解如下所有必要的编码,更好地创建WCF服务的概念,这里做一个简单的任务. 启动Visual Studio 2012. 单击新 ...
- wcf系列学习5天速成——第五天 服务托管
今天是系列的终结篇,当然要分享一下wcf的托管方面的知识. wcf中托管服务一般有一下四种: Console寄宿: 利于开发调试,但不是生产环境中的最佳实践. winform寄 ...
- 创建一个简单的WCF程序2——手动开启/关闭WCF服务与动态调用WCF地址
一.创建WCF服务器 1.创建WCF服务器的窗体应用程序 打开VS2010,选择文件→新建→项目菜单项,在打开的新建项目对话框中,依次选择Visual C#→Windows→Windows窗体应用程序 ...
- WCF学习之旅—WCF服务部署到应用程序(十)
上接 WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...
- WCF服务二:创建一个简单的WCF服务程序
在本例中,我们将实现一个简单的计算服务,提供基本的加.减.乘.除运算,通过客户端和服务端运行在同一台机器上的不同进程实现. 一.新建WCF服务 1.新建一个空白解决方案,解决方案名称为"WC ...
随机推荐
- ClamAV
ClamAV 简介以及适用范围 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除,至多删除文件.ClamAV可以工作很多的平台上,但是有少数 ...
- #define用法集锦[修正版]
http://pan.baidu.com/s/1qWEuiCG
- Linux根文件系统的制作
转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及 ...
- maven添加jetty插件
pom.xml中增加jetty的配置 <properties> <jetty-version>8.1.13.v20130916</jetty-version> &l ...
- storm 分组
Stream Groupings: Stream Grouping定义了一个流在Bolt任务间该如何被切分.这里有Storm提供的6个Stream Grouping类型: 1. 随机分组(Shuffl ...
- WPF 之 后台设置Image的Souce
后台动态设置Image的Souce. 方法一: BitmapImage imgSource = new BitmapImage(new Uri("location",UriKind ...
- iOS retain、strong、weak、assign
iOS retain.strong.weak.assign strong与weak是由ARC新引入的对象变量属性xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和a ...
- [Java] Web开发HTTP状态码整理
HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码.它由 RFC 2616 规范定义的,并得到RFC 2518.RFC 2817.RFC 2295.R ...
- centos下cp -r 命令可拷贝文件夹
LINUX命令的cp -r 和-R的区别 功能上是等价的.不加-r或者-R的时候,只拷贝文件,不拷贝文件夹:加上后则会拷贝文件夹——包括下一级的子文件夹,以及子文件夹中的子文件夹,余此类推.rm的-R ...
- 20145102 《Java程序设计》第2周学习总结
20145102 <Java程序设计>第2周学习总结 教材学习内容总结 这章先介绍了基本类型,和其他语言相似,分为short整数(2字节).int整数(4字节).long整数(8字节).f ...