我在 C# 中使用 http 远程处理在两个应用程序之间进行通信。早些时候,当我在一台机器/两台机器上运行这两个应用程序时,它非常慢。我们有一个代理服务器来连接到互联网。我们在 IE 中设置了“绕过本地地址的代理服务器”,现在当我在一台机器上运行这两个应用程序时,通信发生得非常快。(几乎乘以 10 倍)
但是如果我在不同的机器上运行每个应用程序,那么它仍然很慢,就像设置“绕过代理服务器......”之前的情况一样
任何见解都会有所帮助。
我在 C# 中使用 http 远程处理在两个应用程序之间进行通信。早些时候,当我在一台机器/两台机器上运行这两个应用程序时,它非常慢。我们有一个代理服务器来连接到互联网。我们在 IE 中设置了“绕过本地地址的代理服务器”,现在当我在一台机器上运行这两个应用程序时,通信发生得非常快。(几乎乘以 10 倍)
但是如果我在不同的机器上运行每个应用程序,那么它仍然很慢,就像设置“绕过代理服务器......”之前的情况一样
任何见解都会有所帮助。
您要发送什么样的数据,以什么速率发送?您是否使用了大量对远程 ( MarshalByRefObject
) 对象的调用?
实际上,通过远程处理很难完全控制数据。就个人而言,我会推荐一些基于消息的东西,例如 WCF。这使得系统之间的接口更加明确和可预测。
如果代理是一个关键点,您仍然可以通过 proxycfg.exe 绕过远程地址
正如担心的那样,没有很多远程调用。一次远程调用在不同机器上需要 10 秒,而在单台机器上只需要 350 毫秒。
当我运行 proxycfg.exe 时,它显示“直接访问(无代理服务器)”