提问人:Donovan Woodside 提问时间:8/8/2008 更新时间:10/17/2009 访问量:2006
.NET 远程处理速度和 VPN
.NET Remoting Speed and VPNs
问:
我正在处理一个项目,该项目使用 .NET Remoting 在客户端应用程序和对象服务器之间进行通信。对于开发,客户端、服务器和 MSSQL 数据库都在我的本地开发计算机上运行。
当我在办公室工作时,响应能力很好。
但是,当我在家工作时,速度明显变慢。如果我断开与 VPN 的连接,它会加快速度(我相信,但也许这只是一厢情愿的想法)。如果我完全关闭无线连接,它会立即加速到全油门。
我的假设是,远程处理流量正在通过某个点进行路由,这正在减慢一切速度,尽管是我的家庭路由器和/或VPN。
有没有人对如何强制远程处理流量保持完全本地化有任何想法?
答:
去年夏天,我参与了一个项目,该项目需要对 .NET Remoting 进行一些相当繁重的修改。我不记得所有细节,但是如果我们有多个网络接口,我们就无法获得开箱即用的远程处理实现来可靠地检测远程处理流量来自哪个网络接口,这对性能造成了可怕的影响。这听起来像是一个类似的问题,如果不是同一个问题。
我当前的计算机上没有任何 VPN 连接,但在连接的 TCP/IP 属性中的某个位置有一个复选框,指示您使用远程主机作为网关或类似的东西。
这曾经给我带来很多问题,因为我所有的流量都会通过 VPN,然后再回来,即使我想在本地做一些事情。
也许在开发过程中,您可以使用IPC远程处理通道,该通道使用命名管道而不是TCP。如果你的远程处理通道是通过配置文件设置的,那么你甚至不必重新编译。
我发现下面的链接在设置 IPC 通道时很有用。
http://www.danielmoth.com/Blog/2004/09/ipc-with-remoting-in-net-20.html
我遇到了同样的问题,当你断开连接时,事情会立即好得多。
如果您使用的是 Windows VPN,则必须更改默认设置。它将强制连接在连接时使用远程路由器作为网关。如果转到连接的属性,则转到“网络”选项卡。选择“TCP/IPv4”,然后转到“属性”。在此窗口中,选择“高级...”。并且将有一个选项可以在远程网络上使用默认网关,请确保未选中此选项。这应该有很大帮助。
评论