ммм ... кажется, это может быть исключением. подобно тому, как MVC предназначен для обработки ошибок 404 с помощью исключений.
вот мой код:
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)
{
IController result = null;
try
{
result = ObjectFactory.GetInstance(controllerType) as Controller;
}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
return result;
}
}
.. возможно, вы даже имели это и изменили его. Если нет, попробуйте и посмотрите, есть ли разница. Я не подозреваю, что будет.
Может быть, просто попробуйте взломать это переопределение и посмотреть, какие исключения выдаются.
(примечание: странно, как я спотыкаюсь о твоих вопросах, Кром. Над чем ты работаешь?)
РЕДАКТИРОВАТЬ: Я попытался запрос на одеяния и получил то же исключение. Поэтому я обновил свой класс, как и вы.
Мой новый класс:
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)
{
if (controllerType == null)
return base.GetControllerInstance(controllerType);
IController result = null;
try
{
result = ObjectFactory.GetInstance(controllerType) as Controller;
}
catch (StructureMapException)
{
System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave());
throw;
}
return result;
}
}
.. это, похоже, возвращает мне 404, как и должно быть ... но я никогда не получаю пользовательские страницы ошибок в процессе разработки (локально) .. Мне нужно подождать, пока я опубликую, прежде чем я их получу. Вы привыкли видеть пользовательские страницы ошибок в dev?