問題タブ [light-inject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - LightInject - インターセプトが依存関係をインターセプトしない
MVC Web サイトで ServiceProvider アダプターと共に LightInject を使用しています。MiniProfiler に接続しようとしていますが、うまくいきません。MiniProfilerは MVC コントローラーのライフサイクルをキャプチャしているようですが、依存関係はキャプチャしていません。
これは、コンテナを初期化する方法です。
インターセプターは次のようになります。
これは、コントローラーとテストの依存関係です。
インターセプター コードにブレークポイントを設定しました。の場合はインターセプターには入りませんSomeDependency
が、MVC ライフサイクルのすべてのアクションには入ります。SomeDependencyController
inversion-of-control - サービス インスタンスを取得するときの LightInject の問題
Light Inject を Web API プロジェクトに統合しました。global.asax の application_start でサービスを正常に登録できます。global.asax の application_start にも登録する必要があるフィルターを使用しています。フィルター コンストラクターは登録されたサービスを参照していますが、サービス インスタンスを取得できません。サンプル コード: サービス登録は次のとおりです。
フィルター登録には ILogger のインスタンスが必要です。以下のコードを使用:
lightinject モジュールが注入/登録されていない getService を実行しようとすると、エラーが発生します。.net Framework 4.5 程度にアップグレードできません。
どんな助けでも大歓迎です。ありがとう
c# - 型引数と一緒に使用できない LightInject GetInstance の戻り値
私は依存性注入が初めてで、LightInject を開始することがわかりました。そこで、2 つのインターフェースを作成し、それらのインターフェースを 2 つのクラスに実装しました。今、Payment のインスタンスを取得したいのですが、コンパイラは、非ジェネリック メソッド 'ServiceContainer.GetInstance(Type) は型引数では使用できないと言い続けています。
私のインターフェースは別のファイルに実装されています。私はこの人が言う方法を試しました ( LightInject の使用を開始する) が正常に動作します。しかし、どういうわけか、インターフェイスとクラスが別のファイルにあるため、機能していないと思います。理由はわかりません。
私のコードはこのようなものです。IContract
お支払い:
クレイジーコントラクト:
お支払いとより重要なクラス:
そしてエラーを返す私のメイン:
そしてエラー:
ご覧のとおり、私はコンストラクター インジェクションを使用しています。誰かが私が間違っていることを説明していただければ幸いです。ありがとうございました!