挂钩到 C# 中的 OWIN 控制器创建
Hook into OWIN controller creation in c#
是否可以连接到 OWIN 自托管控制器工厂?我想决定应该为请求创建哪个控制器。
我搜索了很多但找不到我要找的东西。我发现的所有方法都挂在了 Owin 管道的错误位置。
编辑
ASP.Net ControllerBuilder
似乎不起作用:System.Web.Mvc.ControllerBuilder.Current.SetControllerFactory(typeof(CustomControllerFactory));
。
谢谢!
如果您谈论的是 WebAPI 2 控制器工厂,那么您要做的其实很简单;您只需为您的 WebAPI 的 HttpConfiguration
提供一组自定义的助手,您将教给您的 "rules".
您需要提供的(大概):
- a
IHttpControllerTypeResolver
负责发现与控制器定义匹配的类型(按类型...例如,如果您想抑制 "Controller" 中所需的后缀 class姓名).
- a
IHttpControllerSelector
您可以在其中实施自定义 controller/action 选择规则。
您可能还想为自己成熟且灵活的 DI 解决方案提供自定义 IAssembliesResolver
和 IHttpControllerActivator
。
是否可以连接到 OWIN 自托管控制器工厂?我想决定应该为请求创建哪个控制器。
我搜索了很多但找不到我要找的东西。我发现的所有方法都挂在了 Owin 管道的错误位置。
编辑
ASP.Net ControllerBuilder
似乎不起作用:System.Web.Mvc.ControllerBuilder.Current.SetControllerFactory(typeof(CustomControllerFactory));
。
谢谢!
如果您谈论的是 WebAPI 2 控制器工厂,那么您要做的其实很简单;您只需为您的 WebAPI 的 HttpConfiguration
提供一组自定义的助手,您将教给您的 "rules".
您需要提供的(大概):
- a
IHttpControllerTypeResolver
负责发现与控制器定义匹配的类型(按类型...例如,如果您想抑制 "Controller" 中所需的后缀 class姓名). - a
IHttpControllerSelector
您可以在其中实施自定义 controller/action 选择规则。
您可能还想为自己成熟且灵活的 DI 解决方案提供自定义 IAssembliesResolver
和 IHttpControllerActivator
。