Webサービスの存続期間中に共有されるWebサービス変数?
-
08-07-2019 - |
質問
変数(オブジェクト)をWebサービスの有効期間全体で利用可能にするにはどうすればよいですか?
静的変数は機能するようですが、それを行う別の方法はありますか?
解決
静的変数は、それらを含むApp Domainの存続期間中存在します。 Webサービスの場合、これは通常ASP.Netワーカープロセスです。つまり、IISがワーカープロセスの循環を決定すると、静的変数は失われます。これはあなたが望むものかもしれませんが、その場合はおそらく良い選択です。 (静的変数が特定のコンテキストで適切であるかどうかの議論を控える)。
Webサービスの範囲内では、 HttpApplicationState をApplicationプロパティ経由で(これはasmxサービスになります... WCFが同じかどうかはわかりません)、これはサービスの存続期間に必要なものをスタッシングするのに適した選択肢です。
他のヒント
HttpApplicationStateを利用するシングルトンは正常に機能します
おそらく、しかし、静的変数が機能する場合は、次の問題に進みます! :)
所属していません StackOverflow