首页 新闻 会员 周边

求帮忙看看这个WCF MSMQ并发为什么这么差,服务器空闲状态,消息也发不过来,网络畅通

0
[已关闭问题] 关闭于 2016-12-10 09:15

契约接口

    public interface IDataIdentResultInterface
    {
        [OperationContract(Name = "MSMQRebackData",IsOneWay =true)]
        void RebackData(string sampleID, int state, int IdentFlag, string family, string genus, string species, string type, DataSet dsResult, string server);
    }

实现函数就是通过sampleID去数据库更新了几个字段的值,并向另一张表添加了几条数据(DataSet中的数据)

服务配置

<service name="xhpr.MicroID.Service.CloudService.DataIdentResultService">
        <endpoint address="net.msmq://localhost/private/microid" binding="netMsmqBinding"
          bindingConfiguration="msmq" name="DataIdentResultService" contract="Xhpr.MicroID.Interface.DataIdentResultService" />
      </service>
<netMsmqBinding>
        <binding name="msmq" queueTransferProtocol="SRMP" >
          <security mode="None">
          </security>
        </binding>
      </netMsmqBinding>

 

客户端通过线程池调用RebackData向服务器发送消息

客户端配置

<client>
              <endpoint address="net.msmq://***.***.***.***/private/microid" binding="netMsmqBinding"
                    bindingConfiguration="DataIdentResultService" contract="DataIdentResultService.DataIdentResultService"
                    name="DataIdentResultService" />
        </client>
<netMsmqBinding>
                    <binding name="DataIdentResultService">
                          <security mode="None" />
                    </binding>
              </netMsmqBinding>

 

现在的问题是感觉很多数据被堵塞,可是网络畅通,服务器空闲,客户端很多消息像是没发出去一样,在客户端查看消息队列

为什么有这么多未处理的,基本可以肯定不是程序执行异常造成的,因为之前用wsHttpBinding做过,只是改了个消息传递的方式,之前用wsHttpBinding遇到并发太高会超时,所以想试试消息队列

MSky的主页 MSky | 菜鸟二级 | 园豆:436
提问于:2016-12-09 18:51
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册