IIS / CLR是否为.NET Web服务的所有并发调用启动新的实例对象?

时间:2011-02-04 15:59:39

标签: .net web-services

有谁知道IIS / .NET Web服务如何处理调用并发?

我可以想到两种策略:

  1. 创建一个实例。让所有客户端从他们自己的调用线程调用WebMethod:s。实例对象需要是线程安全的。
  2. 为每个呼叫客户端创建一个实例。
  3. (启用会话是否会改变行为?)

    (注意:不使用WCF。)

2 个答案:

答案 0 :(得分:1)

Web服务就像ASPX网站一样是HttpApplication,因此IIS将维护一个应用程序池。一个应用程序AFAIK为一个Session提供服务,因此将其视为每个调用者的实例,但有一些松弛,因此新的调用者不会等待。

答案 1 :(得分:1)

为每个请求创建[WebService]类的实例。只有一个请求才能访问该实例。