問題タブ [simple-injector]
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# - SimpleInjector の問題の解決
SimpleInjector はかなり新しいので、これは比較的単純かもしれません。
次のようにペアリングを登録しています。
SimpleInjector のドキュメントに従ってください。それを続けると、これを解決するために以下を使用するように言われます。
ただし、メモ変数のプロパティまたはメソッドにアクセスすることは許可されていません。保護レベルのためにアクセスできないと述べているだけです。
として宣言されたINote内
ノート内: INote
INote ノート変数をコンテナーで宣言された具体的な実装に解決できるようにするには、どうすればよいですか?
編集 - 詳細情報
コンパイル中にエラーが発生しました
エラー 1 'NotesDAL.Interfaces.Models.INote.userID' は保護レベルのためアクセスできません
Note クラスはパブリックです
wcf - SimpleInjector を使用した Wcf は、「WCF スコープはネストできません」をスローします
サービス層はコマンド側とクエリ側に分かれており、それぞれの側にハンドラーがあります。
次の構成が使用されます
および必要なマークアップ設定:
Factory="SimpleInjector.Integration.Wcf.SimpleInjectorServiceHostFactory, SimpleInjector.Integration.Wcf"
次の例外をスローします。
WCF スコープはネストできません。
エラーが発生すると思います
WcfOperationScopeManager
実装の。
背景情報:
- WinForm アプリケーション
- QueryClient の実行はバックグラウンドワーカーで行われます
- Simple Injector バージョン 2.2.3 を使用しています
- コンテナを構築する Global.asax
- IIS でホストされる
- 各 .svc には、使用するマークアップが設定されています
SimpleInjectorFactory
wsHttpBinding
証明書とカスタムUserNamePasswordValidator
- 各エンドポイント構成には、必要なすべての値が 2147483647 に設定されています。
2 つのロード要求を連続して高速に実行すると、エラーが発生するため、最初の要求が完了せず、2 番目の要求が発生します。
c# - 実際にシングルトンを返すのではなく、ジェネリック型を実装するクラスの SimpleInjector を使用してシングルトン インスタンスを取得する
私はいくつかの奇妙なコードの問題を経験してきましたが、最終的にシングルトンとして機能するはずのものが実際にはシングルトンではないことに気付いたようです。これはキャッシュ クラスであるため、同じキャッシュの複数のバージョンを持つことになります。以下のようにいくつかのテストコードを書きましたが、私の目にはこれでうまくいくはずです。私は何か間違ったことをしていますか、それともバグに遭遇しましたか?
c# - シンプルなインジェクター - コンストラクターは、現在の Web API 要求の HttpRequestMessage を注入します
私の Web API プロジェクトには、現在の要求を必要とする依存関係があります。
コードは以下のとおりです。
Simple Injector を使用して、実行時に現在のリクエストをコンテナーに注入することは可能ですか?
私は次のことを試しました:
しかし、次のエラーを受け取りました
GetInstance、GetAllInstances、および Verify を最初に呼び出した後は、コンテナーを変更できません。
実行時に現在のリクエストをコンテナに挿入する方法はありますか?
c# - シンプルなインジェクター - RegisterAll 登録はコンストラクターに空のコレクションを注入します
私は次の工場を持っています:
私はIEnumerable<IMyService>
このように登録しています:
次に、次の結果が得られます
ファクトリがサービスのコレクションを解決できないのはなぜですか?
asp.net-mvc-3 - Ninject から Simple Injector : フィルターの登録
MVC 3 アプリケーションのパフォーマンスが向上したため、Ninject から Simple Injector に移行しています。リポジトリとサービスを正常に登録できます。しかし、使用してNinjectに登録されているフィルターがあります
kernel.BindFilter<UserActivityAttribute>(FilterScope.Controller, 0).WhenControllerHas<UserActivityFilter>();
Simple Injector には変換されません。基本的には、そのフィルターを使用してユーザー アクティビティをログに記録し、ログが必要なコントローラーの属性として UserActivityFilter を指定します。
c# - SimpleInjector の Container.GetInstance() メソッドのパフォーマンスへの影響
SimpleInjector のパフォーマンスと速度が非常に優れていることはわかっていますが、とにかく、Container.GetInstance() メソッドを呼び出すオーバーヘッドがどれほど大きいかを把握する必要があります。
たとえば、次のクラスがあるとします。
Cache プロパティが頻繁に使用されている場合、またはそれを削除してコンシューマーがコンテナを直接使用して ICacheClient のインスタンスを明示的に取得するようにしておく必要がある場合、パフォーマンスへの影響はどうなりますか?