【发布时间】:2017-09-30 02:09:17
【问题描述】:
我处于一个非常特定的情况,我想覆盖默认的 ASP.NET Core ControllerFactory。我想这样做是因为我想完全控制我处理每个请求的控制器类型。
场景是:
- 请求带有特定的子域
- 基于这个子域,我想在工厂里解析一个Generic类型的控制器
例如:
-
category.website.com被调用 - 我们看到它的类型是
category并将使用通用的HomeController<T>,使用 DI 注入类别,因此类型是HomeController<Category> -
HomeController<Category>将使用Category类型方法上的一些泛型方法来呈现主页。
如果我相信this link,那么DefaultControllerFactory 类型的工厂会在应用程序启动时注册。这似乎是不可替代的。
知道我会怎么做吗?对我们来说最合乎逻辑的选择是使用旧的 ASP.NET MVC 版本,它允许您设置自己的 ControllerFactory,但我们会失去能够使用 SpaServices 预渲染我们的 Angular 应用程序等功能。
【问题讨论】:
-
您要找的可以在stackoverflow.com/questions/36680933/…得到解答
标签: c# dependency-injection asp.net-core asp.net-core-mvc