Web アプリケーションを Web ファームに変換するために調査中です。そこで、「最大ワーカー プロセス = 3」を変換することで、Web ガーデンから始めました。以下は、私の問題の簡略版です。
以下は私の静的オブジェクトクラスです。
public static class MyStaticObject
{
public static string MyProperty {get;set;}
}
次に、ページの読み込み時に、次のように静的オブジェクトを初期化しました-
MyStaticObject.MyProperty = "My Static Property";
次に、asp.net ajax [WebMethod] を使用して、Web ページに ajax メソッドを作成します。
[WebMethod()]
public static string getStaticProperty()
{
return MyStaticObject.MyProperty;
}
// 次に、Javascript を使用してこの Ajax メソッドを呼び出し、戻り値をテキスト ボックスに設定します。
このテストは期待どおりに機能していません。以下は、私の仮定とテストからの間違った結果です。
仮想ディレクトリを Web ガーデンに設定すると、仮想ディレクトリへの各リクエストは Web ガーデンの異なるプロセスによって処理されるので、サーバーへの次のいくつかのリクエストは null を返すはずです。処理する。しかし、ajax ボタンを連続して 20 回 (20 回のリクエストを意味する) クリックしても、静的オブジェクトは値を返します。
IIS を再起動すると、すべての静的オブジェクトが強制終了されるはずです。
静的オブジェクトは、Web ガーデン/Web ファームでは共有されません。
IIS、静的オブジェクト、Web ガーデンの動作には驚かされます。
私は間違っていると仮定していますか、それとも私のテスト方法が間違っていますか。
ありがとう。