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

У меня есть фабрика контроллеров ELMAH. Эти шаги для использования ELMAH делают это, поэтому мне не нужно отмечать каждый метод в контроллерах. этот файл говорит мне, что у меня нет конструктора без параметров, в то время как у меня явно есть

Контроллер прайс-листа

public partial class PriceListController : Controller
{

    public PriceListController()
    {
    }


    [CanonicalUrlAttribute("PriceList")]
    [CompressionFilter(Order = 1)]
    [CacheFilter(Duration = 120, Order = 2)]
    public virtual ActionResult Index()
    {
        GodsCreationTaxidermyEntities context = new GodsCreationTaxidermyEntities();
        var viewModel = new PriceListViewModel() { PriceListAnimals = context.GetAnimalListForPriceList() };
        return View(viewModel);
    }


    [CompressionFilter(Order = 1)]
    [CacheFilter(Duration = 120, Order = 2)]
    public virtual ActionResult List(string animal)
    {
        GodsCreationTaxidermyEntities context = new GodsCreationTaxidermyEntities();

        var viewModel = new PriceListIndexViewModel() { AnimalPrices = context.GetPriceListByAnimal(animal) };
        return View(viewModel);
    }

}

ELMAHControllerFactory.cs

// <summary>
/// This custom controller factory injects a custom attribute 
/// on every action that is invoked by the controller
/// </summary>
public class ELMAHControllerFactory : DefaultControllerFactory
{
    /// <summary>
    /// Injects a custom attribute 
    /// on every action that is invoked by the controller
    /// </summary>
    /// <param name="requestContext">The request context</param>
    /// <param name="controllerName">The name of the controller</param>
    /// <returns>An instance of a controller</returns>
    public override IController CreateController(RequestContext requestContext, string controllerName)
    {
        var controller = base.CreateController(requestContext, controllerName);

        var c = controller as Controller;

        if (c != null)
            c.ActionInvoker = new ELMAHActionInvoker(new HandleErrorWithELMAHAttribute());

        return controller;
    }
}

Я могу ошибаться, но я думал, что там конструктор без параметров, я ошибался?


person PsychoCoder    schedule 28.04.2011    source источник


Ответы (1)


Это решено, я удалил конструктор без параметров и создал новый, и эта ошибка исчезла.

person PsychoCoder    schedule 29.04.2011