Как совместно использовать статический экземпляр DataCacheFactory во всей веб-роли для использования на нескольких веб-сайтах и ​​создания только одного подключения к кешу? - PullRequest
0 голосов
/ 25 ноября 2011

У меня 15 веб-сайтов на одной роли, все они используют один и тот же лазурный кеш Мне нужен только 128 МБ кеша, поэтому он позволяет мне только 10 подключений.

Обычно, если я создаю одно соединение на каждом веб-сайте в App_start и сохраняю его на уровне приложения, я получаю (если я хорошо понимаю):

  • 15 подключений для кэширования x экземпляров веб-ролей

Таким образом, с двумя экземплярами веб-ролей для SLA, по 15 веб-сайтов на каждом, которые создают 30 подключений к лазурному кешу. Правильно?

В этой теме: http://social.msdn.microsoft.com/Forums/en/windowsazuredata/thread/216a5159-0186-403c-89d8-99058d51a542

один парень заявляет: " Ваша веб-роль может иметь статический экземпляр DataCacheFactory, который может использоваться всеми веб-сайтами "

Это означает, что вместо одного подключения к кешу для каждого веб-сайта у меня может быть только одно соединение для каждой веб-роли, то есть только 2 подключения к кэш-памяти Azure, что означает, что план в 128 МБ будет идеально подходить.

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

1 Ответ

3 голосов
/ 26 ноября 2011

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

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

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

Это не имеет ничего общего с Azure per se, носкорее и IIS поведение.

...