multithreading - IIS 工作线程问题

标签 multithreading wcf iis web-config worker-process

我的网站托管在 IIS 主机上。站点具有需要调用 WCF 服务然后返回结果的功能。问题是站点正在处理对 WCF 服务的调用,另一个网站调用正在卡住并且不会快速返回内容(这只是静态内容)。我用不同的 imacros 脚本设置了两个 chrome 实例,其中一个是调用请求 wcf 服务的页面,另一个页面只是静态内容。所以在这里我可以看到,当请求 wcf 服务的第一个页面卡住时,另一个页面也会卡住,当第一个页面被释放时,第二个页面也被释放。

我是否需要在我的 Web.Config 中重新配置一些东西,或者我应该做些什么来立即获取静态内容。

最佳答案

我认为这里有两个不同的问题:

  1. 为什么使用WCF服务的页面会卡住
  2. 为什么静态内容页面会卡住

在调用WCF服务的页面上,一个常见的问题是WCF客户端没有关闭。默认情况下有 10 个 WCF 连接,超时为 1 分钟。前 10 个调用正常(假设它们执行了 2 秒),然后第 11 个调用来了,没有空闲的 wcf 连接因此它必须等待 58 秒连接超时并变为可用。

为什么您的静态页面会卡住。可能是您的客户端只允许一个到该站点的连接,直到对具有 wcf 服务的页面的请求完成后,才会发送对静态页面的请求。

您应该检查 IIS 日志以了解 IIS 报告请求所用的时间。

关于multithreading - IIS 工作线程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9310815/

相关文章:

c# - ASP.NET MVC4 ... "BIN"是保留关键字吗?

iis - 可以允许来自 HTTPS 网站的 HTTP 请求吗?

java - 单例中的线程安全

c# - 如何将具有循环引用的对象结构序列化为 Json?

使用 ssl (https) 的 POST 的 WCF 问题

.net - 带有查询字符串的 WCF 发布

asp.net - "IIS Manager cannot verify whether the built-in account has access"

ios - 使用 Swift 2.1 进行多线程处理 - 对成员的模糊引用

java - 在java中取消 future 的任务

c++ - 多线程 C++,将带有参数的函数从类传递到 main