关闭

.net wcf 并发

标签: wcf.netbindingrandomstring
1404人阅读 评论(0) 收藏 举报
分类:
骤:
1.把同样的WCF服务,在多个端口上"启动"(即同时运行多个wcf的实例,但每个实例都监听不同的端口)

2.用svcutil.exe生成的代理类,里面有N多构造函数的重载版本,观察一下类似下面的这个版本
public AstroServiceClient(string endpointConfigurationName) :
            base(endpointConfigurationName)
    {
    }

即传入配置名生与代码类的实例,我们在web.config中的wcf配置节,做如下处理:
<client>
            <endpoint address="http://localhost:8001/Astro/" binding="wsHttpBinding"
                bindingConfiguration="WSHttpBinding_IAstroService" contract="IAstroService"
                name="1">
                <identity>
                    <dns value="localhost" />
                </identity>
            </endpoint>
          <endpoint address="http://localhost:8002/Astro/" binding="wsHttpBinding"
                bindingConfiguration="WSHttpBinding_IAstroService" contract="IAstroService"
                name="2">
            <identity>
              <dns value="localhost" />
            </identity>
          </endpoint>
          <endpoint address="http://localhost:8003/Astro/" binding="wsHttpBinding"
                bindingConfiguration="WSHttpBinding_IAstroService" contract="IAstroService"
                name="3">
            <identity>
              <dns value="localhost" />
            </identity>
          </endpoint>
        </client>

即对应多个wcf服务端的实例,配置多个name的endpoint节点


3.修改客户端的调用代码

把原来类似这样的代码:
using (AstroServiceClient _client = new AstroServiceClient())

改成

using (AstroServiceClient _client = new AstroServiceClient(new Random().Next(1, 4).ToString()))

即客户端随机从多个wcf服务端的host中挑一个,生成代码类实例

大功告成,说白了就是把一个wcf的host分身成了3个,并且客户端随机调用3者之一

0
0
查看评论

.NET远程处理(Remoting)与WCF的性能对比(2)

本文承接上一篇,背景资料不再重述。 我按照我实际项目的需求,抽取其网络通讯的部分,用.NET远程处理和WCF分别实现,然后测量所耗时间,以此判断两者在我的场景中的性能。 心急的直接跳到最后,有图表和结论。 测试配置 WCF和.NET远程处理都用tcp信道,信道不加密,不使用app.con...
  • gqqnb
  • gqqnb
  • 2012-02-08 23:41
  • 5318

wcf并发和吞吐量

并发性 当多个线程同时访问相同的资源时,
  • u010125980
  • u010125980
  • 2014-11-07 12:01
  • 1668

WCF并发管理(一)

(原创:灰灰虫的家http://hi.baidu.com/grayworm) 当多个线程同时访问相同的资源的时候就会产生并发,WCF缺省情况下会保护并发访问。 对并发访问需要恰当处理,控制不好不仅会大大降低WCF服务的吞吐量和性能,而且还有可能会导致WCF服务的死锁。 一、WCF并发模型: ...
  • xiaoyiyz
  • xiaoyiyz
  • 2015-05-25 18:42
  • 1432

Spring.Net+WCF实现分布式事务

用Spring.Net的AOP+system.transactions+WCF的事务实现.Net的分布式事务
  • quwenzhe
  • quwenzhe
  • 2015-04-09 17:56
  • 1558

WCF实例与并发的一些测试

概要 实例管理可以理解为服端怎么管理(创建与销毁)Service 类的实例 而并发可以理解为WCF框架在收到客户端请求后针对目标Service实例的派发行为,Single表现为如果Service已经在处理请求了,那么新的请求(注意是针对同一个Service实例的)将排队,如果是Mutiple...
  • xwnxwn
  • xwnxwn
  • 2016-04-04 10:33
  • 738

WCF 第五章 控制并发实例的数量

默认情况下,WCF 宿主将会启动尽可能多的实例来处理请求消息。如果一个服务的实例和并发行为并没有确定,WCF将会为每个进入的请求创建一个服务实例同时将按照需要分配线程来反应请求。总体来说这是一个对性能和扩展性都很好的解决方案因为服务将会最大化扩展硬件性能。   但是有很多情...
  • nieweiking
  • nieweiking
  • 2016-05-10 09:45
  • 1141

WCF并发管理(二)

5.ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Reentrant,InstanceContextMode = InstanceContextMode.PerSession) --Reentrant并发与PerSession实例模型 ...
  • xiaoyiyz
  • xiaoyiyz
  • 2015-05-25 18:42
  • 743

WCF并发连接数的问题

WCF并发连接数的问题
  • educast
  • educast
  • 2011-03-28 15:37
  • 3460

wcf 并发

http://social.microsoft.com/Forums/nl-NL/wcfzhchs/thread/3e79037b-afb5-402c-86d9-292779cd870d 大量客户端应用程序同时调用一个服务器上的服务,会不会使该服务承受不了?怎么解决? ...
  • susubuhui
  • susubuhui
  • 2012-07-21 09:01
  • 2477

WCF 大并的性能测试和调优

<br />由于银行业务的需要,这几天在做WCF的大并发性能测试工作;<br />测试工具是Loadrunner;<br />开始发现每台压力机500个并发时,虚拟用户失败很多;<br />后来,
  • zengjibing
  • zengjibing
  • 2010-10-22 09:20
  • 4090
    个人资料
    • 访问:1238094次
    • 积分:13799
    • 等级:
    • 排名:第1098名
    • 原创:142篇
    • 转载:280篇
    • 译文:0篇
    • 评论:210条
    最新评论