У меня есть StructureMap, работающий отлично на моей машине. Все отлично работает ... пока я не запрошу ресурс, которого нет. Вместо 404 я получаю 500 ошибок.Проблемы с ASP.NET MVC и StructureMap
например. http://localhost:6969/lkfhklsfhskdfksdf
Проверка сети, мне сообщили fix my structuremap controller class. Это и радость! Теперь я получаю: оригинальная страница 404 желтого экрана по умолчанию -. Хорошо, это лучше, чем моя страница с ошибками 500.
НО, я хочу, чтобы перейти к моим 404 странице :(Если я называю плохое действие на легальный контроллере, я получаю мои пользовательскую страницу 404.
В моей global.asax я быть_наст свои собственные маршруты , то по умолчанию, а затем, наконец, 404 маршрут:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Post", action = "Index", id = "" } // Parameter defaults
);
// Invalid/Unknown route.
routes.MapRoute(
"404-ResourceNotFound",
"{*url}",
new { controller = "StaticContent", action = "ResourceNotFound" }
);
Вот мой StructureMap код контроллера:
public class StructureMapControllerFactory: DefaultControllerFactory {
protected override IController GetControllerInstance(Type controllerType) {
if (controllerType != null) {
return ObjectFactory.GetInstance(controllerType) as Controller;
return base.GetControllerInstance(controllerType);
}
}
Любые идеи, есть какой-то способ, которым я мог бы каким-то образом получить структуру карты контроллера фа? ctory, чтобы пузыриться обратно в список маршрутов global.asax
? или я сделал что-то действительно плохое, и мне нужно исправить некоторые другие вещи.
ура!
Я на самом деле работает около 5 сайтов на данный момент :(Повторное свертывание одного, 4 - новые. :(Кроме того, с вашим кодом у меня тоже было это. Что происходит, когда u goto url like: http : // localhost: 12345/sfsfkasfhasklfla (например, ваш локальный хост и порт, а затем uri, который НЕ соответствует любому контроллеру. Создает ли ваш StructureMapControllerFactory исключение? –
Мое приложение попадает на страницу пользовательских ошибок по умолчанию при производстве .. но не потому что у меня есть «404 маршрут» для него. Я думаю, что его внутренний дизайн MVC. Почему у вас есть этот маршрут 404? –
Итак, я могу отправить peeps на свою собственную страницу 404 –