Я прочитал все в недействительной вики и множество постов и до сих пор не понимаю, как настроить инъекцию, чтобы я мог ссылаться на это свойство. Я хочу иметь возможность ссылаться на свойство в конструкторе базового класса, чтобы в конечном итоге установить общее свойство ViewBag при создании любого контроллера. Кажется, что реализация интерфейса iInitializable была бы правильным подходом, но опять же просто не знаю, как это сделать. Кроме того, я решил не внедрять IMyService в конструктор базовых классов, чтобы упростить кодирование производных классов.
упрощенная версия моей последней попытки кода:
public class AppController : Controller
{
[Inject]
public IMyService myService{get; set;}
public AppController()
{
//I want to do this, but myService is null
//ViewBag.DefaultName = myService.Name;
}
}
public class DashboardController : AppController
{
public ActionResult Index()
{
//myService is accessible, so injection works
return View();
}
}