Я запускаю приложение в Windows Azure, представления MVC должны быть динамическими, я начал с хранения их в виде записей в базе данных, но очень хочу переместить их в физическое место.
Моя идея заключалась в том, чтобы создать физический файл с помощью кода... который отлично работал и значительно ускорял загрузку страницы. Это было, конечно, до того, как я понял, что файлы были доступны только на время действия роли.
Затем я рассмотрел задачу запуска для создания файлов при запуске роли, однако затем я понял, что любые отдельные экземпляры не будут синхронизироваться, если я не буду отслеживать изменения в базе данных.
Поэтому я перешел от задачи запуска к функции в методе запуска роли, которая проверяет базу данных каждые 10 минут, чтобы увидеть, произошли ли изменения. Проблема в том, что это, кажется, душит приложение (по крайней мере, на этапе прогрева).
В идеале я хотел бы переместить функцию запуска в свою собственную рабочую роль, которая может сидеть там и отправлять файлы в экземпляры веб-ролей, но я не уверен, как мне получить доступ к локальному хранилищу веб-ролей из рабочей роли. Может ли кто-нибудь сказать мне, действительно ли это возможно? и, надеюсь, указать мне правильное направление для достижения этого?
Просто чтобы уточнить, чего я пытаюсь достичь
- Представление создается в пользовательском интерфейсе, работающем в веб-роли и сохраняется в базе данных. - Отдельная веб-роль (внешний интерфейс) имеет клиентское приложение с провайдером виртуального пути, указывающим запросы представлений в локальное хранилище (локальный ресурс). - Отдельная рабочая роль для создания структуры представления и загрузки ее в локальное хранилище клиентской веб-роли