ninject - 使用Ninject绑定(bind)WebApi过滤器属性

标签 ninject asp.net-web-api

我目前在我的 asp.net webapi 项目中使用 ninject.mvc3,它工作正常。我现在尝试绑定(bind)过滤器属性,但使用 NinjectWebCommon 时,IKernel 接口(interface)中缺少 BindFilterBindHttpFilter静态类方法。如果我添加 Ninject.Web.WebApi 包,它就在那里,但项目无法运行(问题 here ,解决方案说 Ninject.Web.WebApi 已弃用)所以我把它删除了。

我也关注了这个github wiki仍然没有找到 this.BindFilter 。我有最新的 nuget 包; Ninject (3.0.1.10)、Ninject.Web.Common (3.0.0.7)、Ninject.MVC3 (3.0.0.6)

BindFilter 或 BindHttpFilter 在哪里?有什么改变吗?如何在 asp.net web api 中绑定(bind)过滤器属性?有如此多的库和项目,文档并没有告诉您当前正在使用的库和项目以及已弃用的库和项目......

最佳答案

您使用的包是正确的,因为它们还不包含 BindHttpFilter。 BindHttpFilter扩展方法来自https://github.com/remogloor/Ninject.Web.WebApi目前不适用于 WebApi 的发布版本,因为它是针对 Beta WebApi 版本编写的。为了注入(inject) WebApi 过滤器,您需要 BindHttpFilter,但不能将 WebApi 过滤器传递到 BindFilter 方法中。

这是https://github.com/ninject/Ninject.Web.WebApi/pull/1似乎是我能找到的有关更新状态的最新信息。

您还可以尝试另一个 NuGet 包 http://nuget.org/packages/Ninject.Web.WebApi-rc但我有一些错误,现在不记得到底是什么错误了。无论如何,在阅读了上述拉取请求的讨论后,我放弃了这个包。

就我而言,我正在尝试实现一个日志过滤器,因此我将创建一个可以从过滤器调用的静态方法,直到注入(inject)支持可用为止。

关于ninject - 使用Ninject绑定(bind)WebApi过滤器属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12757419/

相关文章:

c# - Ninject Providers -> 在提供者中获取另一个依赖项

visual-studio - 如果我的项目面向 MonoAndroid,Version=v5.1,为什么无法安装 Ninject 3.2.2?

c# - Neo4j 单实例连接

c# - ninject binding withmetadata 用于根据环境条件确定绑定(bind)

c# - 如何从 SQL 查询返回动态对象

c# - 从 Azure 函数调用 Asp.Net Web API 端点

c# - MVC3 项目中标准 ninject 和 ninject.web.mvc 之间的区别?

cookies - 如何使用 OWIN 在 Web API 中组合 OAuth 和 cookie 身份验证?

java - 从 eclipse 导出后重命名 war 文件以命中 Web api

authentication - 向 Web api 承载 token 添加额外的详细信息