WebMethod在Ajax调用期间的行为方式如何?

时间:2013-02-07 16:01:32

标签: asp.net jquery

使用jQuery在网页上调用WebMethod时。我们将其定义为静态。

然而static methods always have one instance。当发出多个Web请求时会发生什么。

  1. 是否真的发生异步或
  2. 所有请求都是流水线的,等待WebMethod接受请求?
  3. 我创建了一个示例控制台程序来模拟static method work&上的场景。发现它们按顺序执行。

    class Program
    {
        static int count = 10;
        static void Main(string[] args)
        {
            new Program().foobar();
    
            Console.ReadLine();
        }
    
        public void foobar()
        {
            Parallel.Invoke(() => work("one"), () => work("two"), () => work("three"), ()=> work("four"));
        }
    
        static void work(string str)
        {
            Thread.Sleep(3000);
            count++; 
            Console.WriteLine(str + " " + count);
        }
    }
    

    请您详细说明这个概念吗?

1 个答案:

答案 0 :(得分:0)

它们不会按顺序执行。如果您在客户端服务器方案中创建了多个应用程序,那么这将是一个更好的示例,因为您的控制台应用程序本身按顺序运行所有内容。

也就是说,使用静态方法,您只需要了解共享资源,数据等。本地数据很好。