我有一个客户端 - 服务器应用程序,其中客户端使用WCF与服务器通信(WCF在客户端和服务器中都使用)。 我的问题是,以下列方式在客户端实例化自动生成的代理:
new Service1Client()
持续15.xxx秒。
我试图解决这个问题,并得出以下结果:
1)在其他计算机上编译和运行相同的代码,以相同的方式结束(总是15.xxx秒)。
2)使用ChannelFactory.CreateChannel< IService1 >()
实例化代理
没有帮助(它给出了相同的结果)。
我的猜测是,无论何时频道工厂创建一个频道,它都会尝试执行15秒超时的操作,当它失败时,它会继续创建。
顺便说一下,我使用的是没有SP1的.Net 3.5,并且无法升级到SP1 :(
提前致谢
答案 0 :(得分:1)
即使它已经过时,但对其他人来说也可能有用。问题可能出在DNS解析问题上,可能会在SP1中解决。因此,只有在使用主机名或使用指定的IP地址时,才能检查是否发生了这种情况。
答案 1 :(得分:0)
我以前见过这个,在寻找代理服务器的时候。检查您的WinINET(Internet Explorer)代理设置。
我认为“代理服务器”的具体原因是需要15秒。对于网络超时来说,15s听起来像是一个很好的整数。
答案 2 :(得分:0)
即使这是非常古老的信息我也发现了这个问题,虽然我在第一次调用服务客户端上的方法时遇到了7秒的延迟,但是我(在我的环境中)跟踪它到Internet Explorer设置如上所述,但在我的情况下,它不是启用代理,而是自动检测设置。
连接 - &gt;已启用Lan设置和自动检测设置。
我玩了machine.config和app.config并设置了
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
这也没有什么区别。
我在这里找到了这个答案,并认为我会提供更多信息,以防将来其他人遇到类似的事情。
(使用.Net 4 WCF服务)