1

Azure WebRole で高可用性の WCF サービスが必要な状況にあります。ただし、このサービスは Blob Storage から大量のデータ (3 GB) をロードする必要がある要求を処理するため、若干の問題があります。このデータは、サービスの起動後にのみロードする必要があります! そのため、サービスのコンストラクターでこのデータをロードしています (約 2 分かかります)。サービスへのすべてのリクエストは、わずか 100 ミリ秒しかかかりません。

私が抱えている最初の問題は、サービスのコンストラクターが最初の要求でのみ呼び出されることです。そのため、このサービスを最初に使用する人は 2 分間待たなければならず、これは非常に面倒です。

2 つ目の問題は、1 日おき (場合によっては半週間) に、サービスがそのデータを再度読み込まなければならないことです。それで、サービスクラスは破棄されたと思いますか?したがって、サービスを再び使用する人は、サービスが責任を負わない 2 分間待たなければなりません。

なぜこれが起こっているのか、そしてそれを止める方法はわかりません。私のサービスは InstanceContextMode.Single と ConcurrencyMode.Multiple にあります。

どんなアイデアでも大歓迎です!!

4

2 に答える 2