問題タブ [funq]
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.
servicestack - ServiceStack / Funq はジェネリック メンバーのインジェクションをサポートしていますか?
私のサービス基本クラスには一般的なパブリック プロパティがあります
私が注入しようとしているもの
ただし、他の非ジェネリック プロパティが初期化されている間は機能しません (プロパティが null です)。
それは(私はそれを作ることができる)動作する必要がありますか?
c# - マルチテナント環境での正しいインターフェース実装を解決するための戦略
このインターフェースを考えると:
そしてそれの2つの実装:
上記の単純なコードを考えると、Calculate メソッドの実装は会社ごとに異なるとしましょう。初期化中にアセンブリをロードし、正しいアセンブリの正しいメソッドを呼び出す適切な方法は何ですか? 簡単な部分は、リクエストがどの会社に対するものかを判断することであることがわかりました。現在のビジネスに対応する正しいメソッドを呼び出す必要があるだけです。
ありがとう、スティーブン
サンプルコードの更新
@Scottに大声で叫びます。受け入れられた回答が正しく機能するために必要な変更を次に示します。
この場合、自分の型を見つけるために Assembly Resolver を使用する必要がありました。属性を使用してアセンブリをマークしたため、属性に基づくフィルタリングがより簡単になり、エラーが発生しにくくなりました。
マーカー属性
プラグイン アセンブリでの使用
最後に、修飾名をサポートするための静的 MyTypes へのわずかな変更
c# - パブリック メンバーを null に設定する ServiceStack Funq コンテナー
開発チームの一部のメンバーは、同様の問題のデバッグに時間を費やしました。
単体テストの 1 つで使用される RegisterAs クラスには、パブリック メンバーがあります。設定; }
このクラスが Funq によって解決されると、コンストラクターで設定されていても、メンバーは null に設定されます。
私たちのチームメンバーは、メンバーが Container.RegisterAs<> として登録されている型ではない場合に、Funq によってこのメンバーが null に設定されるのは奇妙であることに同意します。
現在、ServiceStack バージョン 4.0.33 を使用しています。
Funq に登録されているインターフェイスを実装していない場合、ServiceStack.Funq がパブリック メンバーに触れないように構成できると便利です。
servicestack - ServiceStack のデフォルトの IoC には、ninject の .ToFactory() メソッドに似たものがありますか?
ninject を使用すると、アプリケーションの構成ルートから次の構文を使用して抽象ファクトリを作成できます。
ServiceStack のデフォルトの IoC コンテナは同様の機能を備えていますか? 必要に応じてリポジトリを作成するために、サービス クラスの 1 つに抽象ファクトリを実装したいと考えています。
私が聞いた提案の1つは、次を使用することでした:
しかし、コンポジション ルート (Apphost.cs ファイル) の外部でコンテナーへのアクセスを作成することは避けたいと思います。