首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS不为其他用户的请求提供服务为什么一个用户调用web服务

IIS不为其他用户的请求提供服务为什么一个用户调用web服务
EN

Stack Overflow用户
提问于 2011-05-10 15:29:56
回答 2查看 473关注 0票数 1

日安!

我有一个应用程序,其中涉及第三方SOAP网络服务。Web服务调用不是很快(通常是1-3秒)。我注意到,在此调用期间,整个应用程序都被“锁定”-- IIS不为来自其他用户的请求提供服务。

我知道可以在另一个线程或异步方式中调用web服务,但对于2-3秒的调用来说,这似乎有点过分了。是否有一些IIS配置可以解决此问题?

我在Windows Server 2003上使用IIS 6.0。应用是基于ASP.NET MVC2的。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-10 15:37:17

简单地说:您有一个ASP.NET MVC2应用程序调用一个外部SOAP web服务。您有一个用户(会话)调用某个控制器操作,而控制器操作本身调用服务。在此调用期间,另一个用户(不同的会话)调用相同的操作,而您的意思是它应该等到第一个请求完成。这有点奇怪,也不太可能。

如果您正在使用会话,并且有两个并发请求(来自同一个HTTP会话),则可能会发生您所描述的行为。因为会话不是线程安全的,所以ASP.NET (这不是MVC的限制,它一直是这样的)将来自同一个会话的所有写请求排入队列。这是一个说明这一点的blog post (在会话限制部分)

票数 4
EN

Stack Overflow用户

发布于 2011-05-10 15:34:47

IIS会自动线程处理不同的入站web请求。

如果您的web服务器在请求的持续时间内没有响应,并且该请求花费了两到三秒钟,那么听起来您的web应用程序使用了极高的cpu和/或内存,因此导致web服务器停止工作。

你的应用程序在做什么?也许可以提供一些代码?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5946632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档