Мы разрабатываем веб-приложение ASP.NET MVC, которое будет размещено в Windows Azure.Мы развернули приложение несколько раз во время разработки без каких-либо проблем.На самом деле было довольно удивительно, насколько гладко прошел процесс.Затем, когда мы приступили к развертыванию приложения для бета-тестирования, мы продолжали получать ошибки 403 «Отказано в доступе» всякий раз, когда мы пытались перейти к базовому URL сайта.Если после этого мы попытаемся перейти к любому из различных контроллеров и действий сайта, мы получим 404. Ресурсу не удалось найти ошибки.
Другая странная вещь, которую мы заметили, заключается в том, что мы определили перенаправление аутентификации.страница должна быть / Доступ / Вход, а не учетная запись / Вход по умолчанию.На машине разработки все работало нормально, и нас перенаправили в / Access / SignIn, но при публикации в Azure мы увидели, что нас перенаправили в / Account / Login.Это заставило нас подумать, что существует проблема с файлом web.config.
Мы включили удаленный рабочий стол в развертывании Azure и взглянули на файл web.config только для того, чтобы выяснить, что он почти полностью пуст!Единственная установка там была machineKey.Мы вручную скопировали файл web.config с одной из наших машин разработки до экземпляра виртуальной машины Azure, и с этого момента все стало работать.
Что в мире может привести к тому, что развертывание уничтожит файл web.config?И как мы можем предотвратить это, поскольку мы не сможем обновлять файл web.config вручную при каждом развертывании обновления?