mexHttpBinding协议 【发布元数据终结点】
我们需要知道很多东西才能使用微软通信基础架构(WCF)来开发应用程序。尽管这本书已经试着囊括普通开发人员需要了解的WCF所有内容,也还是有一些内容没有讨论到。附录的主要目的是填充这些罅隙。
发布元数据终结点
我们已。经在第一章”基础”中讨论过元数据。这次讨论对使用元数据暴露服务的配置信息做了一个简要介绍。然而,它并没有详细说明元数据到底是如何被暴露的。稍后我们介绍第四章“绑定”的概念,但是仅限于讨论那些用来暴露服务的绑定;我们不关注元数据绑定。WCF提供四种额外绑定: mexHttpBinding, mexHttpsBinding, mexTcpBinding和mexNamedPipeBinding绑定。这些绑定在不同传输协议上使用元数据暴露服务配置信息。
| 小提示 以”mex”开始的绑定暴露服务元数据 Windows 通信基础架构对那些所有用来暴露元数据的绑定加上”mex”前缀。 |
mexHttpBinding
mexHttpBinding绑定的存在是为了使用它在HTTP传输协议上暴露元数据。如果在basicHttpBinding, wsHttpBinding, ws2007HttpBinding绑定上或者任何包含了HttpTransportBindingElement绑定元素的自定义绑定上暴露服务的话那么使用它是合适的。对大多数情况来说mexHttpBinding绑定就是你的选择因为它提供了对你的元数据的最广泛地访问。这意味着元数据可以通过客户端工具如svcutil.exe 和Visual Studio 2005通过添加服务引用来直接访问。它也意味着元数据可以使用其他HTTP客户端访问,这包括IE, 火狐以及Opera 等浏览器。取决于你的安全配置,这可能不是必须的(基础Http协议是不支持安全的,你可以使用HTTPS或者证书等进行加密)。例如,如果你想使用netNamePipeBinding绑定在本机内进行通信,你可能不想使用这个绑定(这是为神马呢? 因为有mexNamedPipeBinding可以选择呀)。
mexNamedPipeBinding
mexNamedPipeBinding绑定的存在是为了使用它在命名管道传输协议上暴露元数据。这个绑定为那些使用netNamedPipeBinding绑定或者任何包含NamedPipeBinding绑定的绑定元素的自定义绑定暴露服务元数据。mexNamedPipeBinding绑定不将元数据暴露到互联网上而且保证元数据仅可以从本机访问。WCF特别地限制命名管道只能用于本机通信。这已经在第四章的”两个.NET 应用程序之间的本机通信”部分讨论过了。
mexTcpBinding
mexTcpBinding绑定的存在是为了使用它在TCP传输协议上暴露元数据。这个绑定为那些使用netTcpBinding或者netPeerTcpBinding绑定或者任何基于TcpTransportBinding绑定元素的自定义绑定暴露。当使用mexTcpBinding绑定的端口共享时需要考虑一个问题。mexTcpBinding绑定使用的底层TcpTransportBindingElement绑定元素禁用了端口共享。如果需要端口共享,基于mexTcpBinding绑定的自定义绑定可以在传输协议上将PortSharingEnabled属性设置为true. 想要了解更多内容,查看附录中”在服务间共享端口”部分。
mexHttpsBinding
mexHttpsBinding绑定的存在是为了使用它在使用SSL/TLS传输加密(HTTPS)的HTTP传输协议上暴露元数据。与mexHttpBinding绑定类似,mexHttpsBinding用来与basicHttpBinding, wsHttpBinding, ws2007HttpBinding绑定或者任何基于HttpTransportBindingElement绑定元素的自定义绑定一起使用。使用mexHttpsBinding绑定允许传输层加密,这会防止元数据被暴露到互联网上。
mexHttpBinding协议 【发布元数据终结点】的更多相关文章
- 最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)
PMD是一款采用BSD协议发布的Java程序代码检查工具.该工具可以做到检查Java代码中是否含有未使用的变量.是否含有空的抓取块.是否含有不必要的对象等.该软件功能强大,扫描效率高,是Java程序员 ...
- Dubbo 使用rest协议发布http服务
演示用GitHub地址:https://github.com/suyin58/dubbo-rest-example 1 Dubbo_rest介绍 Dubbo自2.6.0版本后,合并了dub ...
- 阿里云ssl协议发布qq邮件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- WCF初探-6:WCF服务配置
WCF服务配置是WCF服务编程的主要部分.WCF作为分布式开发的基础框架,在定义服务以及定义消费服务的客户端时,都使用了配置文件的方法.虽然WCF也提供硬编程的方式,通过在代码中直接设置相关对象的属性 ...
- WCF学习心得------(三)配置服务
配置服务 配置服务概述 在设计和实现服务协定后,便可以进行服务的配置.在其中可以定义和自定义如何向客户段公开服务,包括指定可以找到服务的地址,服务用于发送和接受消息的传输和消息编码,以及服务需要的安全 ...
- WCF 配置服务 (02)
配置服务概述 • 在设计和实现服务协定后,即可配置服务. 在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型. • ...
- WCF系列教程之WCF服务配置
文本参考自:http://www.cnblogs.com/wangweimutou/p/4365260.html 简介:WCF作为分布式开发的基础框架,在定义服务以及消费服务的客户端时可以通过配置文件 ...
- C# WCF发布服务的元数据的方式
发布服务元数据的方式有两种:一是基于HTTP-GET协议提供元数据,它是一种绝大多数平台都能支持的简单text-based协议:另一种是元数据交换终结点. 1.基于HTTP-GET协议 <?xm ...
- 解决WCF“接收对 http://xxx.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致"
最近在工作中新加了一个接口,本地调试的时候,直接抛出“接收对 http://xxx.svc 的 HTTP 响应时发生错误.这可能是由于服务终结点绑定未使用 HTTP 协议造成的.这还可能是由于服务器中 ...
随机推荐
- Mini Twitter
Implement a simple twitter. Support the following method: postTweet(user_id, tweet_text). Post a twe ...
- 012_iTerm2 快捷键大全
标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:comma ...
- python enumrate使用
新接触了一个函数 enumrate ,很多情况下我们想获得可迭代的容器(例如dict.list.tuple等)元素的时候,想同时获得一个序号用以他用. 代码常常写成这个样子 list_a = [&qu ...
- 虚拟机Failed to start LSB: Bring up/down networking
1.执行 service network restart 出现以下错误 Restarting network (via systemctl): Job for network.service f ...
- java.io.StreamCorruptedException: invalid stream header: EFBFBDEF 问题解决
错误方式 @Test public void testDeserializeTest() throws IOException, ClassNotFoundException { ByteArrayO ...
- 阿里云url解析,发布web后去除url中的端口号
归根结底就是80端口的使用,不是http的80 的 或 https的 都得加端口号 [问题描述] http://wisecores.wisers.com:8080/JsonProject/servl ...
- 【BZOJ2059】Buying Feed 购买饲料
题面 约翰开车来到镇上,他要带V吨饲料回家.如果他的车上有X吨饲料,每公里就要花费X^2元,开车D公里就需要D* X^2元.约翰可以从N家商店购买饲料,所有商店都在一个坐标轴上,第i家店的位置是Xi, ...
- ****timeago.js插件:jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例
前端 时间个性化 插件 jquery.timeago.js 关键词 : 时间格式化 刚刚 N分钟前 N小时前 N天前 N月前 N年前 MM-dd hh:mm 或者 yyyy-MM-dd 前端: & ...
- SpringMVC介绍及参数绑定
本节内容: SpringMVC介绍 入门程序 SpringMVC架构 SpringMVC整合MyBatis 参数绑定 SpringMVC和Struts2的区别 一.SpringMVC介绍 1. 什么是 ...
- BZOJ 1878 HH的项链 | 主席树
题意 询问区间有多少不同的数. 题解 和Luogu 1903一样,这道题也是用pre数组来求区间不同数的个数,这里pre[i]表示a[i]上一次出现的位置 +1,询问相当于查询区间内有多少pre小于等 ...