繁体   English   中英

在MVC 2中将ELMAH与区域一起使用

[英]Using ELMAH with Areas in MVC 2

我正在关注有关使用MVC设置ELMAH的博客文章:

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

我只完成了第1部分。如果我只是转到Home控制器,然后导致错误,那么一切都将正常工作。 我也可以查看/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;
    }

    //...
}

您的AdminController是否具有无参数的构造函数?


是的,您将需要一个无参数的构造函数。 如果您尝试注入依赖项,则需要编写或使用知道如何执行此操作的控制器工厂。

这可能会有所帮助:

ASP.NET MVC控制器中的构造方法依赖项注入

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM