【问题标题】:Hook into OWIN controller creation in c#在 C# 中挂钩到 OWIN 控制器创建
【发布时间】:2015-03-23 13:30:47
【问题描述】:

是否可以挂接到 OWIN 自托管控制器工厂?我想决定应该为请求创建哪个控制器。

我搜索了很多,但找不到我正在寻找的确切内容。我发现的所有方法都钩入了 Owin 管道的错误位置。

编辑

ASP.Net ControllerBuilder 似乎不起作用:System.Web.Mvc.ControllerBuilder.Current.SetControllerFactory(typeof(CustomControllerFactory));。 谢谢!

【问题讨论】:

    标签: c# controller hook owin factory


    【解决方案1】:

    如果您谈论的是 WebAPI 2 控制器工厂,那么您想要做的其实很简单;你只需要为你的 WebAPI 的HttpConfiguration 提供一组自定义的帮助器,你将教授你的“规则”。

    你需要提供什么(可能):

    • IHttpControllerTypeResolver 负责发现与控制器定义匹配的类型(按类型...例如,如果您想取消类名中所需的“Controller”后缀)。
    • IHttpControllerSelector,您可以在其中实施自定义控制器/操作选择规则。

    您可能还想为您自己的成熟且灵活的 DI 解决方案提供自定义 IAssembliesResolverIHttpControllerActivator

    【讨论】:

    • 是的,谢谢,现在已经可以使用了。我现在的问题是,我想用 IronPython 类扩展我的 web api 2。问题是,IP 类不是完全合格的 Clr 类。所以我在IHttpControlelrTypeResolver 返回的类型无效。不过谢谢!您的问题回答了所提出的问题!
    • 我找到了你问的后续问题;)有趣的话题!
    • 是的,如果我解决了这个问题,我们应该有一个很好的工具来用 python 编写动态 web api :)
    猜你喜欢
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多