У меня есть фабрика контроллеров ELMAH, и эти шаги для использования ELMAH делают так, что мне не нужно отмечать каждый метод в контроллерах.этот файл говорит мне, что у меня нет конструктора без параметров, хотя я явно использую
PriceListController
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;
}
}
Возможно, я неправильно понимаю, но я подумал, что там был конструктор без параметров, я был не прав?