2011-04-28 5 views
0

J'ai un contrôleur ELMAH factorym ces étapes pour utiliser ELMAH le font ainsi je n'ai pas besoin de marquer chaque méthode dans les contrôleurs. ce fichier me dit que je n'ai pas un constructeur parameterless pendant que je fais clairementSystem.MissingMethodException: aucun constructeur sans paramètre défini pour cet objet

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; 
    } 
} 

je peux être mal compris, mais je pensais qu'il y avait un constructeur sans paramètre là-bas, avais-je tort?

Répondre

0

Ceci est résolu, j'ai supprimé le constructeur sans paramètre et en ai fait un nouveau et cette erreur est partie.

Questions connexes