2012-05-14 3 views
0

Configuration the ASP.NET Output Cache Provider for Windows Azure CachingAzure - какова цель applicationName в Azure Caching?

Я немного запутался в атрибуте applicationName.

Означает ли это, что я могу использовать несколько приложений для совместного использования одного и того же кеша Azure (если не выполняются транзакции, передача данных и подключения)?

Иными словами, такой же ключ кеша не будет сталкиваться между различными веб-приложениями, пока имя приложения не отличается?

1 GB-кеш за 110,00 $ намного дешевле, чем 10 X 128 МБ кеша за 45,00 $.

Спасибо, что пролили свет!

ответ

0

Если мы рассмотрим архитектурный проект для готового кеша, поэтому, когда у вас есть несколько экземпляров одного и того же приложения, работающих в облаке и использующих кеш-заглушку, чтобы синхронизировать все экземпляры с учетом для вывода кеша.

Если у вас несколько приложений 1)/Root 2)/production 3)/test, вы действительно не хотите смешивать выходной кеш между двумя различными приложениями, поскольку кэш вывода может содержать полный и неполный кеширование страниц в кеш-конце на основе имени приложения (если настроено) или AppID, предоставленного системой IIS.

Если вы используете несколько сайтов в одном приложении ASP.NET Web Role, вы можете использовать dataCacheClient для разделения кэша вывода на основе разных заголовков хостов для разных сайтов с тем же приложением, что было бы предпочтительным решением.

+0

Как это работает с обычным одиночным веб-приложением (с двумя экземплярами) в рамках единой роли ASP.Net Web? Должен ли я явно установить имя приложения (в противном случае кэш одного экземпляра не может получить доступ к другому экземпляру, что действительно приведет к поражению цели распределенного кеша)? Спасибо, что пролил свет! – Win

0

Основываясь на ссылке MSDN, ApplicationName используется внутри для генерации ключа кэша. Если ключ приложения не указан, он использует HttpRuntime.AppDomainAppId. Теперь бремя ответственности лежит на команде разработчиков на udpated метабазу IIS, так что HttpRuntime.AppDomainAppId в каждом экземпляре разрешает одно и то же значение.

Короче Название ApplicationName используется для предоставления дополнительного слоя сегрегации. Если ApplicationName соответствует в разных приложениях, эти приложения будут использовать один и тот же кеш.

0

Разница в использовании ApplicationName тег для состояния сеанса и кэширования вывода упоминается здесь: http://msdn.microsoft.com/en-us/library/hh361708.aspx

В контексте на вопрос, заданный здесь, ApplicationName тег удобно для кэширования данных между несколькими экземплярами одной и той же роли.

+0

Вы просто копируете то же самое содержимое, что и я. Во всяком случае, Windows Azure Caching (Preview) отсутствует, и мне больше не нужно беспокоиться о совместном использовании кеша (сэкономить деньги) с различными облачными сервисами. – Win

Смежные вопросы