1

Итак, у меня есть приложение MVC4. Вчера, наверное, у меня были скользкие пальцы, потому что на нашем производственном сервере я ошибочно переместил папку представлений в папку/Content. Все перестало работать, и я не мог понять, почему (у меня есть страница с пользовательскими ошибками, которая не попадала, и я просто получал общую страницу ошибок IIS). После ручного изменения web.config, чтобы увидеть ошибку, я понял, что не нашел вход в систему, нашел папки просмотра и переместил его обратно, все отлично.MVC, доставляющий содержимое, когда папка с просмотром находится не в том месте, как это возможно?

Вот и странная деталь. Сначала я подумал, что это может быть проблема с базой данных, поэтому я перезагрузил Sql Server, и все началось. Затем, когда я действительно нашел проблему, она снова начала ошибку. В любом случае, просто интересно, есть ли у кого-нибудь идеи, с кем он работал в первую очередь?

Благодаря

+0

Вы попробовали «новое» развертывание - - удалить и повторно опубликовать все файлы? – ashes999

+0

Вы уверены, что не получили HTTP-кешированные версии своей страницы? Или «все началось» означает, что вы можете войти в систему и использовать сайт как обычно? –

+0

Я уверен, что он не кэширован. Я сделал некоторые обновления базы данных, которые были правильно заполнены на странице. Однако мои пользователи говорили, что проблема, похоже, произошла после того, как они обновили запись. Что касается нового развертывания, я собираюсь сделать это сейчас и просто следить за ним, я думаю. – sovemp

ответ

0

Если вы опубликовали ваш сайт с помощью Publish Web функциональности Visual Studio, вы, возможно, покинули «Оставьте дополнительные файлы назначения (не удалять)» флажок галочки. Вы можете подтвердить это в диалоговом окне «Опубликовать профиль» в VS.

Если это отмечено, файлы остаются в месте назначения в исходном местоположении, даже если вы перемещаете или удаляете их.

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

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

+0

Обычно я удаляю все файлы в пункте назначения. Что касается перемещения папки «Представления», я не знаю наверняка, что я это сделал, но это теория. После публикации я подключаюсь к сайту через ftp, чтобы вручную загружать некоторые файлы лицензий, и это когда я думаю, что я мог переместить папку. – sovemp

+0

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

+0

Итак, выяснилось, что проблема была с серверами, на которых я размещаю свой стейт. По-видимому, у фермы веб-серверов возникали проблемы и не распространялось правильно. – sovemp