第四章 绑定 跨机器通信
来源:互联网 发布:linux rar解压命令 编辑:程序博客网 时间:2024/05/27 03:30
这一部分描述了用来在.NET应用程序间跨机器通信的绑定。我们将描述如何通过配置文件和代码来自定义每一个绑定。每一个绑定都会在一个典型场景的上下文中查看。
提示 以”net” 为前缀的绑定应该被用于.NET应用程序之间
WCF把所有在.NET应用程序之间使用的绑定加上”net”前缀。绑定名字的前缀是一个暗示,让我们知道应该选择一个特定的绑定来使用。这意味着这些绑定有特殊的仅能用于.NET应用程序的特性。相反的,所有以”ws”为前缀的绑定意味着使用Web Services的非.NET应用程序。
netTcpBinding
netTcpBinding绑定用来支持在一个网络中的不同机器间部署的.NET应用程序,包括在局域网和广域网间的通信。我们称这种类型的通信为跨机器通信。在这种情况下不需要互通性,因为两个应用程序都创建在.NET平台上。当在网络间通信时这提供给我们非常大的灵活性。因为没有互通信的需求,通信可以为最佳性能而完善。
netTcpBinding绑定使用二进制编码和TCP协议来实现在网络间的最好性能。通常建议在.NET应用程序间跨机器通信时使用netTcpBinding绑定。这不是一个硬性规定,但是覆盖了大多数情况。在防火墙将两个.NET应用程序分开时使用netTcpBinding并不合适。通常唯一能够在防火墙之间通信的方式就是使用HTTP协议。在这种情况下,你将需要使用basicHtppBinding绑定而不是netTcpBinding绑定。
下面的代码显示了netTcpBinding绑定的地址格式
net.tcp://{hostname}[:port]/{service location}
TCP协议的默认端口是808。这是任何基于TcpTransportBindingElement绑定元素,包括netTcpBinding绑定的情形。
表4.3 列出了netTcpBinding绑定可配置的绑定属性。依据具体情况,它们都是非常重要的需要了解的内容。例如,默认的netTcpBinding绑定要关掉端口共享。这会影响你的应用程序如果你打算在同一个端口寄宿多个服务的话。查看附录中”服务间共享端口”部分,”高级主题”,来获取更多关于端口共享的信息。另外一个netTcpBinding的重要属性是maxConnections. maxConnections属性限制了到终结点的连接数量。默认值是0。为了最大化吞吐量这个值需要增加。
表4.3 netTcpBinding 属性
属性名字
描述
默认值
listenBacklog
等待服务请求的最大信道数量。任何比这个值大的连接都会被放入队列中去。
10
maxBufferPoolSize
传输中缓存池的最大容量.
524,888
maxBufferSize
用来在内存中缓存接收到的消息的最大字节数。
65,536
maxConnections
入列和出列的最大连接数。入列和出列分别计算。
10
maxReceivedMessageSize
一条接收到的消息的最大长度.
65,536
name
绑定名字.
n/a
openTimeout
等待一个打开操作完成的最大时间.
00:01:00
portShareingEnabled
为服务监听器开启端口共享
false
readerQuotas
确定可以处理的消息的最大复杂度(比如,大小).
n/a
receiveTimeout
等待一个接收操作完成的最大时间.
00:01:00
reliableSession
确定绑定是否支持使用WS-Reliable通信的精确消息传输.
n/a
Security
确定绑定的安全设置.
n/a
sendTimeout
等待一次发送操作完成的最大时间.
00:01:00
transactionFlow
使能客户端和服务端之间的事务流转.
false
transactionProtocol
支持的事务类型-OleTransactions或WSAtomicTransactions
OleTransactions
n/a-意味着这个设置是一个需要多个属性被设置的子节点元素或者依赖于其他属性的设置才能使用。
下面的配置信息是用来与列表4.2到4.4的示例程序一起使用的。列表4.7中的配置文件使用netTcpBinding绑定来暴露StockQuoteService服务。
列表 4.7 netTcpBinding 寄宿配置
列表4.8 显示了调用列表4.7中显示的使用netTcpBinding 绑定的服务的客户端配置文件。
列表4.8 netTcpBinding客户端配置
- 第四章 绑定 跨机器通信
- 第四章 Binding --.Net应用下的跨机器通信
- 第四章 绑定 本机.NET应用程序间的通信
- 第四章 绑定
- 第四章 Binding --选择合适的绑定
- 第四章 绑定 选择一个合适的绑定
- 《机器学习》读书笔记,第四章人工神经网络
- 《机器学习》周志华第四章笔记
- 机器学习(周志华) 参考答案 第四章 决策树
- 斯坦福 机器学习-第四章学习理论
- 读书笔记《机器学习》: 第四章:决策树
- 机器学习笔记-第四章 神经网络
- 第四章任务的同步与通信
- C语言程序设计17通信 第四章作业
- Android -- 跨应用绑定service并通信
- Knockout应用开发指南 第四章:模板绑定
- Knockout应用开发指南 第四章:模板绑定
- Knockout应用开发指南 第四章:模板绑定
- Writing custom visualizers for Visual Studio 2005
- 修改android的开机画面(一)
- 关于三种分页方式的比较
- 超�史上最牛百度知道问答
- C++函数 笔记
- 第四章 绑定 跨机器通信
- ILMerge合并多个dll程序集,签名问题有待解决
- ansys学习
- MapXtrem for java自定义符号
- weblogic Server迁移要遇到的第一个问题
- php写的一个阿拉伯数字转中文数字的函数
- 您请求的版块信息无效”解决办法
- 修改android的开机画面(三)
- Android实现3个圆圈的动画