0

jQuery を使用して Web ページで WebMethod を呼び出す場合。これを静的と定義します。

しかしstatic methods always have one instance。複数の Web リクエストが行われるとどうなるか。

  1. それは本当に非同期で発生しますか、それとも
  2. WebMethod が要求を受け入れるのを待って、すべての要求がパイプライン処理されますか?

シナリオをシミュレートするためのサンプル コンソール プログラムを作成し、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);
    }
}

このコンセプトに光を当てていただけますか?

4

1 に答える 1

0

それらは順次実行されません。クライアント サーバー シナリオで複数のアプリを作成した場合、コンソール アプリは本質的にすべてを順番に実行するため、より良い例になります。

とはいえ、静的メソッドでは、共有リソース、データなどを認識する必要があるだけです。ローカル データは問題ありません。

于 2013-02-07T16:17:41.020 に答える