客户端可以被视为线程吗?

时间:2011-02-24 08:18:19

标签: asp.net asp.net-mvc multithreading wcf iis

我们可以考虑同时访问同一Web服务方法的两个客户端是两个线程(涉及所有问题......) 对于asp.net Web应用程序中的方法,它是一样的吗?

3 个答案:

答案 0 :(得分:2)

只要您不使用基于静态的static或其他共享对象,代码中就不会出现多线程问题。但是,您需要考虑资源(即文件)。

每个请求都由一个专用线程处理,一旦完成为请求提供服务,它就会回到线程池中。

答案 1 :(得分:1)

这取决于。请参阅我对Why are these asynchronous RIA Service calls executed in serial on the web server?的回答。它由ServiceBehaviourAttributeInstanceContextModeConcurrencyMode的两个属性控制。


在asp.net Web应用程序中,来自多个客户端的请求将倾向于并行处理,除非(出于某些奇怪的原因)两个客户端共享同一会话,并且这两个请求都是针对标记为需要会话的页面(这是我相信默认情况下),在这种情况下,两个请求将被序列化。

答案 2 :(得分:0)

如果您正在讨论WCF服务,则行为取决于您配置服务的方式。有关详情,请参阅this article on MSDNServiceBehaviorAttribute.InstanceContextMode Property