2012-10-06 7 views
6

現在、asp.net webapiプロジェクトでninject.mvc3を使用していますが、正常に動作します。フィルタ属性をバインドしようとしていますが、NinjectWebCommon静的クラスメソッドを使用している場合、IKernelインターフェイスにはBindFilterBindHttpFilterのインターフェイスがありません。 Ninject.Web.WebApiパッケージを追加すると、そのパッケージはそこにありますが、プロジェクトは実行されません(問題here、解決策ではNinject.Web.WebApiが廃止されました)。Ninjectを使用してWebApiフィルタの属性をバインドする

は私もまさにこのgithub wikiを踏襲し、まだthis.BindFilterは見つかりませんでした。私は最新のナゲットパッケージを持っています。 Ninject.Web.Common(3.0.0.7)、Ninject.MVC3(3.0.0.6)

BindFilterまたはBindHttpFilterはどこですか?何か変わった?どのように私はASPのWeb APIのフィルタ属性をバインドするのですか?非常に多くのライブラリやプロジェクトがあり、ドキュメントには現在の作業内容と推奨されていないものを教えていません....

答えて

4

BindHttpFilterはまだ使用していません。 BindHttpFilter拡張メソッドは、https://github.com/remogloor/Ninject.Web.WebApiです。現在、WebApiのリリース版では動作していません。これは、Beta WebApiバージョンに対して書かれているためです。 BindHttpFilterが必要なWebApiフィルタに注入するには、WebApiフィルタをBindFilterメソッドに渡すことはできません。

これはhttps://github.com/ninject/Ninject.Web.WebApi/pull/1ですが、私は更新の状態に見つけることができる最新の情報であるように思われます。

今まさに誤りを覚えていない、あなたはまた、別のNuGetパッケージhttp://nuget.org/packages/Ninject.Web.WebApi-rcを試みることができるが、私はそれにいくつかのエラーがありました。とにかく上記のプルリクエストに関する議論を読んだ後、私はこのパッケージをあきらめました。私の場合は

は、私はちょうど私が利用できるようになります射出サポートまでフィルタから呼び出すことができる静的メソッドを作成するつもりですので、ログフィルタを実装しようとしています。

4

私は同じ問題があります。 1)私は、私は後NinjectWebCommon.cs

のセクション
using Ninject.Web.WebApi.FilterBindingSyntax; 

"を使用して" するためにこれを追加)

PM> Install-Package Ninject.Web.WebApi -Pre 

2コマンドを使用してPMコンソールからWeb.Apiの最新の(しかし、不安定な)Ninjectをインストールこれらのステップでは、IKernelにBindHttpFilterメソッドがあります。そして、すべてがうまく

これは私のために働いた
+0

動作しますが、私はあなたがはい、もちろんNinjectWebCommon.cs – friggle

+0

@friggleを意味信じて! –

関連する問題