Casablanca: Kein parameterloser Konstruktor

Beitrag lesen

Hallo,

danke für die Antwort. Um das Ganze etwas klarer wird, versuche ich eine paar Zeil mehr Code zu schreiben. Ich hoffe, es hilft:

Das ist mein Api Kontroller:

   public class MyController : ApiController
    {
        private readonly IShop _shop;

        public MyController(IShop shop)
        {
             _shop = shop;
        }

        public IEnumerable<MyModel> Get(int id)
        {
             var car = _shop.GetCarModel(id);
             return View(car);
        }
     }

und das mein MVC-Controller:

    public class HomeController : Controller
    {
        public ActionResult Edit(int id)
        {
            using (ShopClient client = new ShopClient())
            {
                var car = carClient.GetCarModel(id);
                return View(car);
            }
        }
    }

Wie man sieht, machen die Methoden Get() und Edit() beide das gleiche. Mit einem Unterschied, dass die Edit-Methode über ein new verfügt, das ich loswerden möchte. Nun habe ich versucht, von da aus direkt auf die Get()-Methode des Api-Controller zuzugreifen, um mein Ziel mit der new-Beseitigung zu erreichen. Dazu habe ich dies versuchet:

var apiController = DependencyResolver.Current.GetService<MyController>();
var test = apiController.Get(2);

Dieser Ansatz funktioniert leider mit Api-Controllern nicht und ich bekomme ein null zurück.

Gruß