Я попробовал новую предварительную версию Azure, поставляемую с новым пакетом SDK, на моем компьютере. Я ставлю рабочую роль с предварительным просмотром кеша и ставлю совместную роль с размером кеша 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 экземплярами. в результате каждый раз, когда я видел другой идентификатор, это означает, что кеш вывода никогда не работает со всеми 4 экземплярами (чтобы было ясно, я настраиваю кеш вывода для работы с предварительным просмотром кеша).
Только когда я добавляю дополнительную рабочую роль кеша в качестве выделенной роли, все начинает работать так, как должно быть.
Мои вопросы: нужна ли мне дополнительная рабочая роль, чтобы предварительный просмотр кеша работал нормально? - что означает, что компромисс между неработающим кешем azure appfabric ставит дополнительную машину
Я что-то сделал, и это должно работать с веб-ролями как с соседними ролями?
Благодарность
редактировать: это еще один раздел моего 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 (это мои веб-роли, которых у меня 4), каждый раз, когда я переключаю машину, я получаю другой кеш. если я изменю идентификатор на свою рабочую роль, я получу результат