挂钩到 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 解决方案提供自定义 IAssembliesResolverIHttpControllerActivator