Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WCF中,ChannelFactory.CreateChannel和代理实例化速度较慢_Wcf - Fatal编程技术网

在WCF中,ChannelFactory.CreateChannel和代理实例化速度较慢

在WCF中,ChannelFactory.CreateChannel和代理实例化速度较慢,wcf,Wcf,我有一个客户机-服务器应用程序,其中客户机使用WCF与服务器通信(WCF在客户机和服务器中都使用)。 我的问题是,在客户端中以以下方式实例化自动生成的代理: new Service1Client() 持续15.xxx秒。 我试图解决这个问题,结果如下: 1) 在其他计算机上编译和运行相同的代码,结果是相同的(总是15.xxx秒) 2) 使用ChannelFactory.CreateChannel() 没有帮助(它给出相同的结果) 我的猜测是,每当通道工厂创建一个通道时,它都会尝试在15秒的超

我有一个客户机-服务器应用程序,其中客户机使用WCF与服务器通信(WCF在客户机和服务器中都使用)。 我的问题是,在客户端中以以下方式实例化自动生成的代理:
 new Service1Client() 
持续15.xxx秒。 我试图解决这个问题,结果如下:

1) 在其他计算机上编译和运行相同的代码,结果是相同的(总是15.xxx秒)

2) 使用
ChannelFactory.CreateChannel()
没有帮助(它给出相同的结果)

我的猜测是,每当通道工厂创建一个通道时,它都会尝试在15秒的超时时间内执行某些操作,当它失败时,它会继续创建

顺便说一下,我使用没有SP1的.Net 3.5,无法升级到SP1:(


提前感谢

我以前看过这篇文章,其中花了大量时间寻找代理服务器。请检查您的WinINET(Internet Explorer)代理设置



我考虑“代理服务器”的具体原因它需要15秒。15秒听起来像是网络超时的一个不错的整数。

即使它已经过时,也可能对其他人搜索相同的内容有用。问题可能是DNS解析问题,这可能在SP1中解决。因此,您可以检查它是否仅在使用主机名或指定的IP地址时发生s、

尽管这是非常旧的信息,但我也发现了这个问题。虽然我在服务客户端上第一次调用方法时遇到7秒延迟,但我(在我的环境中)如上所述将其跟踪到Internet Explorer设置,但在我的情况下,它没有启用代理,而是自动检测设置

已启用连接->局域网设置和自动检测设置

我玩了machine.config和app.config并设置了

<runtime>
  <generatePublisherEvidence enabled="false"/>
</runtime>

这也没什么区别

我在这里找到了这个答案,我想我会提供更多的信息,以防将来有人遇到类似的情况


(使用.Net 4 WCF服务进行此操作)

谢谢,我将尝试检查这一点。虽然在实例化时查找代理服务器很奇怪-这应该在第一次操作调用或其他过程中执行…我认为这不是问题…该计算机上没有定义代理服务器。我建议您使用Fiddler或其他方法查看是否有问题继续网络。15s太完美了。我使用wireshark查看在实例化过程中是否有一些网络活动,但它没有显示一些异常情况。这让我感到惊讶。下一步将是使用自动QA的AQtime、JetBrains的dotTrace等进行常规评测。