#asp.net-mvc #azure #azure-web-app-service
#asp.net-mvc #azure #azure-web-app-service
Вопрос:
Потребуется ли нам поддерживать две разные базы кода после переноса нашего веб-приложения в Azure, если мы хотим сохранить старое развертывание на Windows Server, или одно и то же веб-приложение может быть запущено на обоих?
Комментарии:
1. Я не думаю, что на это может быть какой-либо ответ, кроме как «Это зависит от приложения».
Ответ №1:
Одно и то же приложение не может запускаться в обеих средах, но вы можете развернуть приложение для каждой среды из одной и той же базы кода. Это означает, что пакет развертывания Windows Azure является надмножеством обычного веб-приложения.
Я предполагаю, что вы не будете использовать хранилище больших двоичных объектов, очереди и т.д., поскольку в этом случае у вас, очевидно, возникнет проблема. По сути, то, что развертывается в Windows Azure, является традиционным веб-приложением, но с некоторыми добавлениями (список необязательно полный):
- Ваша кодовая база должна содержать определения служб и конфигурации (это просто XML-файлы)
- У вашего веб-приложения должна быть RoleEntryPoint. В шаблоне VS2008 это находится в классе WebRole, который является производным от RoleEntryPoint (в WebRole.cs).
Точно так же, как вы не можете использовать очереди Azure, большие двоичные объекты и т.д. в вашей традиционной среде Windows Server существуют функции .NET framework, к использованию которого вы, возможно, привыкли, но который не будет поддерживаться в Windows Azure (на данный момент вы не можете выполнять запись в файловую систему, подобную NTFS, хотя это станет возможным после запуска Windows Azure Drives).
В целом, я думаю, вы могли бы поддерживать два экземпляра приложения из одной и той же базы кода, но вам придется всегда помнить о различиях между Azure и традиционным развертыванием. Также имейте в виду, что процедуры развертывания сильно отличаются.
PS. Я думаю, что кое-что из этого может измениться с выпуском Windows Server AppFabric. Я не уверен, но вы, возможно, захотите разобраться.