使用Simple Injector和Web API解析Entity Framework的AccountController

时间:2015-11-15 15:48:28

标签: c# asp.net-web-api2 owin simple-injector

由于Application.ser Web api中ApplicationUserManager,UserStore的依赖性,存在AccountController实例化的问题。我能够成功地为简单的注入器DI注册所有其他依赖项。

我搜索了很多地方以注入正确的实例/类型,但最终还是无法正确地进行。

有没有办法让我忽略简单注入器给出的默认RegisterWebApiControllers,以便我可以避免通过简单的注入器实例化AccountController?这是不切实际的吗?

1 个答案:

答案 0 :(得分:1)

摆脱AccountController的默认构造函数。就这么简单。

另一个选项是覆盖AccountController注册,如下所示:

container.RegisterWebApiControllers(config);

container.Options.AllowOverridingRegistrations = true;

container.Register<AccountController>(() => new AccountController());

container.Options.AllowOverridingRegistrations = false;

使用Identity with Simple Injector时,这里有一些有趣的读物: