ITPub博客

首页 > IT职业 > IT生活 > 提高WCF服务并发能力的简单办法

提高WCF服务并发能力的简单办法

IT生活 作者:lakefront 时间:2021-09-09 09:11:12 0 删除 编辑

步骤:
1.把同样的WCF服务,在多个端口上"启动"(即同时运行多个wcf的实例,但每个实例都监听不同的端口)

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

即传入配置名生与代码类的实例,我们在web.config中的wcf配置节,做如下处理:


            
                
                    
                
            
          
            
              
            
          
          
            
              
            
          
        

即对应多个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者之一。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2491/viewspace-2808453/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-05

  • 博文量
    99
  • 访问量
    625