WCF传输大数据的设置2
本节主要内容:1.如何读取Binding中的binding元素。2.CustomBinding元素的基本配置。3.代码示例
一、Bingding是由binding元素构成的,可以根据实际需要,进行适当的选择进行组合。下面的一段代码可以帮助你查看Binding中包含的binding元素。
1 NetTcpBinding binding = new NetTcpBinding();
2 foreach (BindingElement element in binding.CreateBindingElements())
3 {
4 Console.WriteLine(element.GetType().FullName);
5 }
查询到netTcpBinidng的结果如下:
二、对CustomBinding进行配置。如下
服务端:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="WcfCustomBinding.Host.Services.PersonService">
<endpoint address="net.tcp://localhost:6666/personService"
binding="netTcpBinding"
contract="WcfCustomBinding.Host.Services.IPerson"></endpoint>
<endpoint address="net.tcp://localhost:7777/personService"
binding="customBinding"
bindingConfiguration="personBinding"
contract="WcfCustomBinding.Host.Services.IPerson">
</endpoint>
</service>
</services>
<bindings>
<customBinding>
<binding name="personBinding">
<binaryMessageEncoding></binaryMessageEncoding>
<tcpTransport></tcpTransport>
</binding>
</customBinding>
</bindings>
</system.serviceModel>
</configuration>
客户端:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint name="Nettcp"
address="net.tcp://localhost:6666/personService"
binding="netTcpBinding"
contract="WcfCustomBinding.Client.Proxys.IPerson">
</endpoint>
<endpoint name="Custom"
address="net.tcp://localhost:7777/personService"
binding="customBinding"
bindingConfiguration="personBinding"
contract="WcfCustomBinding.Client.Proxys.IPerson">
</endpoint>
</client>
<bindings>
<customBinding>
<binding name="personBinding">
<binaryMessageEncoding></binaryMessageEncoding>
<tcpTransport></tcpTransport>
</binding>
</customBinding>
</bindings>
</system.serviceModel>
</configuration>
三、示例:
本示例采用了netTcpBinding的默认设置和自定义的CustomBinding这两种方式,而且在客户端还对其性能进行了简单的比较。为了更好的比较两种性能,在客户端最好能够多运行几次进行比较。运行结果如下:其实可以通过更改netTcpBinding的配置文件,达到CustomBinding同样的性能。
代码这里下载
WCF传输大数据的设置2的更多相关文章
- WCF传输大数据的设置
在从客户端向WCF服务端传送较大数据(>65535B)的时候,发现程序直接从Reference的BeginInvoke跳到EndInvoke,没有进入服务端的Service实际逻辑中,怀疑是由于 ...
- 【转】WCF传输大数据的设置
在从客户端向WCF服务端传送较大数据(>65535B)的时候,发现程序直接从Reference的BeginInvoke跳到EndInvoke,没有进入服务端的Service实际逻辑中,怀疑是由于 ...
- WCF传输大数据 --断点续传(upload、download)
using System; using System.IO; using System.Runtime.Serialization; using System.ServiceModel; namesp ...
- 快速传输大数据(tar+lz4+pv)
快速传输大数据(tar+lz4+pv) 如果用传统SCP远程拷贝,速度是比较慢的.现在采用lz4压缩传输.LZ4是一个非常快的无损压缩算法,压缩速度在单核300MB/S,可扩展支持多核CPU.它还 ...
- IIS大数据请求设置方法
大并发大数据量请求一般会分为几种情况: 1.大量的用户同时对系统的不同功能页面进行查找,更新操作 2.大量的用户同时对系统的同一个页面,同一个表的大数据量进行查询操作 3.大量的用户同时对系统的同一个 ...
- php传输大数据大文件时候php.ini相关设置
post_max_size which is directly related to the POST size---针对采用post上传的,大文件,此项为关键 upload_max_filesize ...
- 解决WCF传输的数据量过大问题
今天写了个WCF接口,然后自测通过,和别人联调时报 远程服务器返回错误: (413) Request Entity Too Large 错误!记得以前写的时候也出现过这个错误,大致解决办 ...
- WCF传送大数据时的错误“ 超出最大字符串内容长度配额”
格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetLzdtArticleResult.InnerException 消息是“反序 ...
- 【大数据】设置SSH免密钥(转)
设置SSH免密钥 关于ssh免密码的设置,要求每两台主机之间设置免密码,自己的主机与自己的主机之间也要求设置免密码. 这项操作可以在admin用户下执行,执行完毕公钥在/home/admin/.ssh ...
随机推荐
- 文档对象模型(DOM)中的结点属性
在文档对象模型中,每个结点都是一个对象.DOM结点有三个重要的属性:nodeName .nodeValue和nodeType,分别表示结点名称.结点的值和结点的类型 一.nodeName,结点名称,只 ...
- mysql中常用的控制流函数
MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台. MySQL控制流函数: CASE WHEN[test1] THEN [r ...
- C# 统计在线人数和总访问人数
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- Java中的四舍五入
经典案例分析:public class RoundTest { public static void main(String[] args) { System.err.printl ...
- Swift_2基础
mport Foundation // MARK: - ?和!的区别// ?代表可选类型,实质上是枚举类型,里面有None和Some两种类型,其实nil相当于OPtional.None,如果非nil相 ...
- 理解 JavaScript 作用域和作用域链
http://www.cnblogs.com/lhb25/archive/2011/09/06/javascript-scope-chain.html
- mysql 数据库 表字段添加表情兼容
项目中的几个需要支持Emoji表情符号,手机自带的表情,其实添加也很简单: 1 修改数据库 配置my.cnf init-connect='SET NAMES utf8mb4' ...
- C#知识点总结系列:5、CLR的组成和运转
clr基本 CLR(Common Language Runtime)是一个可由多种编程语言使用的“运行时”.(例如:c#,c++/cli,vb,f#,ironpython,ironruby,il... ...
- [poj1182]食物链(并查集+补集)
食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64841 Accepted: 19077 Description ...
- sql常用语句
选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delet ...