我的网站托管在IIS托管上。站点具有需要调用WCF服务然后返回结果的功能。问题是网站正在处理调用WCF服务的另一个网站调用是冻结而不是快速返回内容(这只是静态内容)。我设置了两个带有不同imacros脚本的chrome实例,其中一个调用请求wcf服务的页面,另一个页面只是静态内容。所以在这里我可以看到,当请求wcf服务的第一页冻结时,另一页也冻结,当第一页被释放时,第二页也是冻结。
我是否需要在Web.Config中重新配置某些内容,或者我是否应该做其他事情以便立即获取静态内容。
答案 0 :(得分:2)
我认为这里有两个独立的问题:
在调用WCF服务的页面上,常见问题是WCF客户端未关闭。默认情况下,有10个WCF连接,超时为1分钟。前10次调用很好(比如他们执行i 2秒),然后第11次调用到来,没有免费的wcf连接因此必须等待58秒才能连接到超时并且可用。
关于你的静态页面冻结的原因。可能是您的客户端只允许一个连接到站点,静态页面的请求不会被发送,直到wcf服务的页面请求完成。
您应该检查IIS日志,看看IIS报告请求的时间必须如何。
答案 1 :(得分:1)
我想说这是一个线程问题。这篇MSDN知识库文章提供了一些关于如何调整ASP.NET线程行为的建议:
http://support.microsoft.com/kb/821268
来自文章 - ...您可以调整Machine.config文件中的以下参数,以最适合您的情况:
要成功解决这些问题,请执行以下操作:
等...
答案 2 :(得分:1)
考虑这样的情况:当您向IIS发出请求更改时,删除或创建App_Data文件夹之外的某个文件。这往往是一个日志文件,错误地放在应用程序的 bin 文件夹中。文件系统更改导致IIS重新加载AppDomain,因为它认为应用程序已更改,因此经历了延迟。这可能适用于您的问题,也可能不适用,但这是ASP.NET应用程序中的常见错误。
答案 3 :(得分:1)
好吧,也许没问题......
它可能只是浏览器的同一域同时请求限制 直到浏览器没有完成对第一页(WCF页面)的请求,它才会将请求发送到第二页(静态)。
试试这个:
为每个页面使用不同的浏览器(例如chrome / firefox)
或者在隐身窗口中以chrome显示第二页(Ctrl + Shift + N)
或者尝试从不同的计算机访问每个页面。
答案 4 :(得分:0)
您可以尝试使用AppFabric,看看您的WCF服务有什么问题http://msdn.microsoft.com/en-us/windowsserver/ee695849