Я получаю странную ошибку на своем webserver для по-видимому каждого файла, но .aspx файлов.
Вот пример. Просто замените '/robots.txt' любым именем .jpg или .gif или безотносительно и Вы получите идею:
Диспетчер для пути '/robots.txt' не был найден или не осуществляет IController.
Я уверен, что это - что-то, чтобы сделать с тем, как у меня есть направление установки, но я не уверен, что точно я должен делать с этим.
Кроме того, это - смешанный MVC и территория WebForms, если это имеет значение.
Вы можете игнорировать Robots.txt и все страницы ASPX в вашей маршрутизации.
routes.IgnoreRoute("{*allaspx}", new {allaspx=@".*\.aspx(/.*)?"});
routes.IgnoreRoute("{*robotstxt}", new {robotstxt=@"(.*/)?robots.txt(/.*)?"});
Вы можете также захотеть игнорировать Фавикон.
routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});
Вы можете настроить регулярное выражение для исключения пути.
У вас все еще есть:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
... в вашем Global.Asax.cs?
MVC накладывает его по умолчанию, и он должен обрабатывать это.
Если вы сделаете, то проблема может быть, как вы смешиваете MVC и WebForms.
Я нашел другое решение тоже ... пока я не Думаю, я буду использовать это, стоит показать здесь в ответах:
Следующее должно (теоретически) игнорируют искать контроллеры для чего-либо с A '.' в этом.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" }, // Parameter defaults
new { controller = @"[^\.]*" } // Parameter contraints.
);