如何实现.NET进程间的高效快速通信?

2026-05-06 09:261阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计391个文字,预计阅读时间需要2分钟。

如何实现.NET进程间的高效快速通信?

我设置了以下配置:

- 一方面,使用.NET的dll的VB6应用程序- 另一方面,是.NET服务,VB6应用程序通过一个微型接口DLL与我们的新基础建设(如服务)进行通信,并且几乎无法在功能上进行修改。我们选择使用

所以我有以下设置:

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

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

如何实现.NET进程间的高效快速通信?

<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使用率挂起.

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

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

本文共计391个文字,预计阅读时间需要2分钟。

如何实现.NET进程间的高效快速通信?

我设置了以下配置:

- 一方面,使用.NET的dll的VB6应用程序- 另一方面,是.NET服务,VB6应用程序通过一个微型接口DLL与我们的新基础建设(如服务)进行通信,并且几乎无法在功能上进行修改。我们选择使用

所以我有以下设置:

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

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

如何实现.NET进程间的高效快速通信?

<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使用率挂起.

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

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