新しい SDK に付属している新しい azure プレビューを自分のコンピューターで試してみました。キャッシュ プレビュー付きのワーカー ロールを配置し、キャッシュ サイズが 30% のコロケート ロールを配置しました。私のコントローラーに私はこのコードを入れました:
[OutputCache(Duration=int.MaxValue, VaryByParam="none")]
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
ViewBag.Id = Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CurrentRoleInstance.Id;
return View();
}
今、私は4つのインスタンスを持つエミュレーターを介してワーカーロールを実行しました. その結果、異なる ID が表示されるたびに、出力キャッシュが 4 つのインスタンスすべてで動作することはありません (明確にするために、キャッシュ プレビューで動作するように出力キャッシュを構成します)。
追加のキャッシュ ワーカー ロールを専用ロールとして配置した場合にのみ、すべてが正常に機能し始めます。
私の質問は次のとおりです: キャッシュ プレビューを実際に正常に動作させるには、追加のワーカー ロールが必要ですか? - これは、azure appfabric キャッシュを使用しないことのトレードオフが余分なマシンを配置していることを意味します
Web ロールと同じ場所に配置されたロールとして機能する必要がありますか?
ありがとう
編集:これは私のweb.configの別のセクションです
<dataCacheClients>
<tracing sinkType="DiagnosticSink" traceLevel="Error" />
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="NugetTest" />
<!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>
私の識別子にNugetTest(これは私のWebロールです-私は4つ持っています)がある場合、マシンを切り替えるたびに別のキャッシュを取得します。識別子をワーカーロールに変更すると、結果が得られます