2011-02-24 49 views
3

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

回答

1

这取决于。看到我的回答Why are these asynchronous RIA Service calls executed in serial on the web server?。它受ServiceBehaviourAttribute,InstanceContextModeConcurrencyMode两个属性的控制。


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

2

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

每个请求都由一个专用线程处理,该线程一旦完成服务请求就返回线程池。

+0

我是否需要将数据库视为资源?那么请注意由“自动线程”引起的可能死锁? – Spilarix