Использование ELMAH с областями в MVC 2 - PullRequest
0 голосов
/ 24 января 2011

Я слежу за этим сообщением в блоге о настройке ELMAH с MVC:

http://dotnetdarren.wordpress.com/2010/07/27/logging-on-mvc-part-1/

Я только сделал часть 1. Все работает правильно, если я просто иду на главнуюконтроллер, а затем вызвать ошибку.Я также могу просмотреть /elmah.axd, и мои ошибки правильно регистрируются в базе данных.

Однако я добавил в свое приложение область с именем Admin.Если я перехожу к / Admin, я получаю следующую ошибку:

System.MissingMethodException: для этого объекта не определен конструктор без параметров.

public override IController CreateController(RequestContext requestContext, string controllerName)
{
    var controller = base.CreateController(requestContext, controllerName); //Error here

    var c = controller as Controller;

Я предполагаюэто как-то связано с моей областью.

Кто-нибудь знает, как это исправить?

РЕДАКТИРОВАТЬ для jfar:

Например, у меня естьКонтролер сотрудников в моей области администратора:

public class EmployeesController : Controller
{
    private IEmployeesRepository employeesRepository;

    public EmployeesController(IEmployeesRepository employeesRepository)
    {
        this.employeesRepository = employeesRepository;
    }

    //...
}

1 Ответ

1 голос
/ 24 января 2011

Есть ли в вашем AdminController конструктор без параметров?


Да, вам понадобится конструктор без параметров.Если вы пытаетесь внедрить зависимости, вам нужно написать или использовать фабрику контроллеров, которая знает, как это сделать.

Это может помочь:

Внедрение зависимостей конструктора в ASPКонтроллер .NET MVC

...