Я развернул веб-приложение ASP.NET MVC на сервере IIS 7. Он находится в корневом каталоге папки www. Существует подпапка, которая не является частью приложения и должна обслуживаться в обычном режиме. Поэтому я добавил код в маршруты моего приложения MVC.
В основном я:
routes.IgnoreRoute(name);
var ignore_route = string.Concat(name, @"\/(.*)");
routes.IgnoreRoute("{*path}", new { path = ignore_route });
Это слова отлично. Какое-то время. Тогда это ломается. В частности, переход к «/ subDirectory» (то есть без завершающего слеша) дает «401 - Несанкционированный: доступ запрещен из-за неверных учетных данных». Это не будет беспокоить меня, за исключением того факта, что из-за визитных карточек в дикой природе указывается URL подкаталога без косой черты. Это должно работать.
Он всегда отлично работает на моей машине разработчика, но там не работает на IIS.
Я не понимаю, как это могло бы работать некоторое время, а затем сломаться. Если я скопирую сборку, она снова начинает работать, а затем останавливается на следующий день.
Одна из возможностей заключается в том, что при первом развертывании этого веб-приложения этот код отсутствовал. Я должен был добавить это позже, когда мы поняли, что должны быть подкаталоги, которые будут обслуживаться нормально. Так что мое первое инстинктивное чувство было то, что он как-то возвращается к более старой версии сборки. Я понятия не имею, как это будет происходить, хотя. Когда я получаю доступ к каталогу через ftp, измененные даты верны. Единственный доступ к серверу у меня есть через ftp, но администраторы сервера, которые, как предполагается, помогают мне в этом, разочарованно отсутствовали. Я в своем уме. Есть идеи?
РЕДАКТИРОВАТЬ: Я не знаю, почему это было отправлено сюда для переполнения стека. Это, очевидно, проблема с сервером, не так ли? Посмотрите на первый ответ! Это говорит о сервере. Код работает отлично. Можем ли мы вернуть его обратно на сервер, где он находится?