我有使用 basicHttpBinding 的 WCF 服务。
当客户端和服务器在同一个网络上时,他们的初始调用会挂起大约 30 秒,而不是顺利进行。
当我通过互联网从客户端使用 DNS 进行相同的调用时,它可以很好地工作而不会挂起。
客户端和服务器都是控制台应用程序。服务器正在运行 Windows 7,有问题的客户端正在运行 Windows Server 2008。同一网络上的两台计算机都使用它们的本地安全策略,因此没有域控制器。
关闭所有防火墙和防病毒软件并没有解决我的问题。
这是来自设置的日志,框彼此相邻
09:33:05,252 [1] DEBUG ChannelFactoryManager: Created ClientChannel http://192.168.1.11:18762/DiagnosticService
09:33:05,263 [1] INFO Program: WcfAppender.InitializeWcfAppender: 08:33:05
09:33:05,274 [1] INFO Program: File.Copy(C:temptest.txt, O:test.txt, true): 08:33:05
09:33:05,298 [1] INFO Program: GETTING DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:33:05
09:33:32,661 [1] INFO Program: GOT DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:33:32
09:33:32,668 [1] INFO Program: GETTING DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:33:32
09:33:32,680 [1] INFO Program: GOT DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:33:32
09:33:32,693 [1] INFO Program: File.Copy(C:temptest.txt, O:test.txt, true): 08:33:32
这是我从不同网络通过 Internet 访问同一服务器时的日志(无延迟):
09:36:56,500 [1] DEBUG ChannelFactoryManager: Created ClientChannel http://mydomain.com:18762/DiagnosticService
09:36:56,501 [1] INFO Program: WcfAppender.InitializeWcfAppender: 08:36:56
09:36:56,501 [1] INFO Program: File.Copy(C:temptest.txt, O:test.txt, true): 08:36:56
09:36:56,501 [1] INFO Program: GETTING DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:36:56
09:36:56,680 [1] INFO Program: GOT DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:36:56
09:36:56,680 [1] INFO Program: GETTING DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:36:56
09:36:56,705 [1] INFO Program: GOT DomainFactory.LoggingDiagnosticService.GetMonitoringLevel: 08:36:56
我还尝试在盒子之间复制 test.txt 文件,看看我是否遇到相同的连接问题