7

現在、asp.net webapi プロジェクトで ninject.mvc3 を使用していますが、正常に動作します。現在、フィルタ属性をバインドしようとしていますがBindFilter、静的クラス メソッドを使用すると、インターフェイスBindHttpFilterから欠落しています。パッケージを追加すると、そこにはありますが、プロジェクトは実行されません (ここでの問題、解決策は非推奨であると述べています)。IKernelNinjectWebCommonNinject.Web.WebApiNinject.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 でフィルター属性をバインドするにはどうすればよいですか? 非常に多くのライブラリとプロジェクトがあり、ドキュメントでは、現在動作しているものと廃止されているものはわかりません....

4

2 に答える 2

6

使用しているパッケージは、BindHttpFilterがまだ含まれていないため正しいです。BindHttpFilter拡張メソッドはhttps://github.com/remogloor/Ninject.Web.WebApiからのものであり、ベータ版のWebApiバージョンに対して作成されたため、現在WebApiのリリースバージョンでは機能していません。BindHttpFilterが必要なWebApiフィルターに挿入するには、WebApiフィルターをBindFilterメソッドに渡すことはできません。

これはhttps://github.com/ninject/Ninject.Web.WebApi/pull/1で、更新のステータスについて私が見つけた最新の情報のようです。

別のNuGetパッケージhttp://nuget.org/packages/Ninject.Web.WebApi-rcを試すこともできますが、エラーが発生しました。今は正確にどのエラーか覚えていません。とにかく、上記のプルリクエストに関する議論を読んだ後、私はこのパッケージをあきらめました。

私の場合、ロギングフィルターを実装しようとしているので、インジェクションサポートが利用可能になるまでフィルターから呼び出すことができる静的メソッドを作成します。

于 2012-10-08T05:15:28.090 に答える