地址 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. LeetCode34 Search for a Range

    题目: Given a sorted array of integers, find the starting and ending position of a given target value. ...

  2. C# 文本框 TextChanged 延时触发

    public partial class DelayTextBox : TextBox { #region private globals private System.Timers.Timer De ...

  3. 1.4.7 Schema API

    Schema API Schema API允许使用REST API每个集合(collection)(或者单机solr的核(core)).包含了定义字段类型,字段,动态字段,复制字段等.在solr4.2 ...

  4. js动态增加表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. UIPickerView 简单操作和实际应用

    1.UIPickerView 选择指示器控件 //选择器的初始化 UIPickerView * pickerView = [[UIPickerView alloc] initWithFrame:CGR ...

  6. NS_ENUM和NS_OPTIONS区别

    首先,NS_ENUM和NS_OPTIONS都是宏. Foundation框架中定义了一些辅助的宏,用这些宏来定义枚举类型时,也可以指定用于保存枚举值的底层数据类型.这些宏具有向后兼容能力,如果目标平台 ...

  7. MFC简易画图

    开发一个MFC绘图程序,基于"文档-视图"结构,在客户区能够完成: ①画直线 ②画矩形 ③画圆(椭圆) ④画任意折线(右键结束) ⑤画任意多边形(右键结束,并形成闭环) 注:图形中 ...

  8. vb.net机房收费系统之组合查询

    我个人一直认为,组合查询是机房收费系统的一个难点,尤其是用到三层之后,如果要为组合查询中的每一个查询建立一个显然是太麻烦了. 下面介绍一下我的方法,对大家起个参考作用. 我将该表中可输入的内容定义为一 ...

  9. php的一些简单算法程序(冒泡、快速等)

    冒泡排序: function buttle_sort($array) { $len=count($array); if($len<2){ return $array; } for($i=0;$i ...

  10. iOS中—触摸事件详解及使用

    iOS中--触摸事件详解及使用 (一)初识 要想学好触摸事件,这第一部分的基础理论是必须要学会的,希望大家可以耐心看完. 1.基本概念: 触摸事件 是iOS事件中的一种事件类型,在iOS中按照事件划分 ...