静的クラスで構成されているdllを作成しました。私は、私のWebジョブ(webjob1、webjob2など)でAzureで作成してデプロイしました。Azure WebJobsで静的メソッドを呼び出す
各Webジョブは同時にメソッドにアクセスできます。静的クラスを使用しているため、ヒープ内に単一のメモリーが作成されます。すべてのWebジョブには、その静的クラスの参照値が含まれています。私の質問は、それは何か問題を作りますか?
私の理解によると、C#は同期的に動作します。したがって、各Webジョブは静的クラスの機能にアクセスするためにキュー内で待機します。したがって、その静的クラスの変数に対して行われた変更は、他のwebジョブに反映されます。静的クラスはスタンドアロンメモリを持ちます。
私の前提が正しければ、そのような静的ヘルパークラスを、インスタンス化して使用できる通常のヘルパークラスではなく、なぜ保持しなければならないのですか?
私は、このinorderのような静的なクラスを作成して、私のdbからいくつかの詳細を取得しています。
public static class StaticHelper
{
public static string GetValue()
{
using(IDBContext _DbContext = new sampleDBContext())
{
}
//Acessing values through this context
}
}
実際に達成しようとするものによって異なります。 C#もasync/awaitパターンを持っています。ここにあなたのコードを投稿することができれば簡単になります。乾杯。 – Thomas
@Thomasは更新済み... – Skull
Webjobsは静的メソッドにアクセスするのを待つことはありません。彼らはそれを同時に呼び出すつもりです。 – Thomas