2

Web ロールで、Azure で WCF サービスを開発しています。メモリ内にインデックスを作成し、それを使用して wcf リクエストを処理します。私の問題は、iis がリサイクルされた後、このインデックスがメモリからなくなっていることです。リサイクル イベントを検出し、インデックスをメモリに再度コピーする方法はありますか?

助けてくれてありがとう。

4

1 に答える 1

3

はい、 Application_Endイベント (Global.asax.cs 内) で検出できます。

より良い解決策は、インデックスをメモリに置かないことです。Web ロールを使用しているため、Windows Azure キャッシュを使用できます (追加料金を支払う必要はありません)。Windows Azure キャッシュを使用すると、インデックスをメモリに格納できますが、アプリケーション プールのプロセスには格納できません。それでも超高速であり、アプリケーション プールのリサイクルに耐えることができます。

もう 1 つの利点は、インデックスを Windows Azure キャッシュに格納すると、同じ展開内のすべてのインスタンスとロールが同じキャッシュを使用できることです。これは、保存した同じインデックスをすべて使用することを意味します。

于 2012-12-01T17:25:23.507 に答える