需要在两个.NET进程之间快速通信

需要在两个.NET进程之间快速通信,第1张

概述所以我有以下设置: >一方面使用.NET dll的VB6应用程序 >另一端是.NET服务 VB6应用程序使用一个小型接口DLL与我们的新基础设施(服务等)进行通信,并且几乎无法在功能上进行更改.我们选择使用带有这样的绑定的WCF <system.serviceModel> <client> <endpoint address="net.tcp://localhost:8001/ 所以我有以下设置:

>一方面使用.NET dll的VB6应用程序
>另一端是.NET服务

VB6应用程序使用一个小型接口DLL与我们的新基础设施(服务等)进行通信,并且几乎无法在功能上进行更改.我们选择使用带有这样的绑定的WCF

<system.serviceModel>    <clIEnt>      <endpoint address="net.tcp://localhost:8001/HostCommunicator" binding="netTcpBinding" bindingConfiguration="NETTcpBinding" contract="IHostCommunicationContract"/>    </clIEnt>    <bindings>      <netTcpBinding>        <binding name="NETTcpBinding" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" receiveTimeout="00:10:00" sendTimeout="00:10:00">          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxnametableCharCount="2147483647"/>          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>          <security mode="Transport">            <transport clIEntCredentialType="windows" />          </security>        </binding>      </netTcpBinding>    </bindings></system.serviceModel>  <startup>

沟通.

对于单个请求,这种方法可以正常工作,但VB6应用程序的一种模式是一种批处理模式,它为每个处理的文件发送单独的请求.每秒大约有1-4个请求.

这可以正常工作,直到完成许多请求.在我当前的机器和软件版本上,这是50个请求.如果我启动VB6应用程序,它会再次发出50个请求.在限制之后,应用程序将以99%的cpu使用率挂起.

我们正在使用双工渠道合同.

解决方法 你还记得关闭你的联系吗?看起来你没有关闭连接,只为每个请求打开新的连接? 总结

以上是内存溢出为你收集整理的需要在两个.NET进程之间快速通信全部内容,希望文章能够帮你解决需要在两个.NET进程之间快速通信所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1236133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存