0

私はNinjectのWebフォームWebサイトで依存性注入をいじっています.サイトをスムーズに実行するのにまったく問題はありませんでしたが、デザインモードを使用して個々のページを表示するときにかなり大きな問題がありました.

通常はデザイン モードを使用しませんが、Web ユーザー コントロールをデザイン スペースにドラッグ アンド ドロップするのが、ページに追加する最も簡単な方法です。

設定はこちらのガイドラインとほぼ同じです 。設計ページのエラーは次のとおりです。

タイプ「ページ名」はインジェクションを要求しますが、Web アプリケーション用のカーネルが登録されていません。プロジェクトで NinjectHttpApplication が定義されていることを確認してください。

プロパティインジェクションを利用して、NinjectおよびNinject.Web 2.2でAsp.Net 4.0を使用しています

これは現時点ではほとんどショーストッパーです。

乾杯!

応答がないまま 6 日が経過したなんて信じられません.... この問題を経験しているのは私だけですか?

4

2 に答える 2

1

ASP.NET Forms アプリケーションで同じ問題が発生しました (私は、このタイプの op アプリで ninject を使用する最後のモヒカンの 1 人でもあると思います ;-) )。私の解決策は、PageBase と MasterPageBase 内のメソッド 'RequestActivation' を OnInit ページ イベントからページのコンストラクターに移動することでした (git の Ninjects Web を参照)。

于 2011-05-18T08:58:10.647 に答える
0

詳細に調べたところ、問題はプロパティ インジェクションを使用した場合にのみ発生しました。回避策は、Inject タグを使用するのではなく、IOC を処理するために設定した任意のクラスからアプリケーション Ninject Kernal の静的インスタンスから値を取得することでした。

ただし、Visual Studio 2010 で SP1 にアップグレードすると、問題は完全になくなります。

于 2011-03-13T05:21:33.937 に答える