問題タブ [castle-windsor]
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# - Castle Windsor - 複数のインターフェースを実装する 1 つのクラス
私はアプリケーションの開始時に2つのインターフェースを次のように登録します:-
次に、ここで 2 番目のインターフェイス (ISnippetController) を使用するオブジェクトで IoC.Resolve を実行しようとすると、次の例外がスローされます。
コンポーネント 'MyApp.Admin.Presenters.SnippetPresenter' は、満たすべき依存関係があるため作成できません。MyApp.Admin.Presenters.SnippetPresenter は次の依存関係を待機しています: サービス: - 登録されていない MyApp.Admin.Controllers.ISnippetController。
登録の順序を入れ替えると、IEntityIndexController が見つからないというエラーが表示されます。そのため、クラスの最初の登録のみを取得し、同じ具象クラスにマップされるそれ以降のインターフェイスは無視されるようです。
ここで私が見逃している明らかなものはありますか?(.net 3.5、windsor RC3を使用したps im)
.net - Castle Windsor を使用して登録せずにクラスを解決する
次の役に立たないプログラムを見てください。
UnityContainer は Program のインスタンスを返しますが、Windsor コンテナーは ComponentNotFoundException をスローします。
両方の動作の引数を確認でき、最終的にどちらになるかは気にしませんが、Prism V2 Drop 8 (執筆時点で最新のもの) は内部的に Unity の動作に依存しており、登録されていないクラスを要求します。
これらすべてのクラスを Prism 用に見つけて登録するよりも、Windsor を Unity のように動作させたいと思います。これを行うのに役立つものはグーグルで見つけられませんでした(私の用語は間違っているかもしれませんが)、ウィンザーのドキュメントはかなり悪いです...
誰でもこの問題の解決策を提案できますか?
.net - Castle-Windsor Fluent Interface:すべてのインターフェイスのすべての実装を登録するにはどうすればよいですか?
2つのアセンブリEDC2.DALとEDC2があります。ここで、EDC2.DaoInterfacesは、EDC2.Domain名前空間内のオブジェクトへのデータアクセスオブジェクトの一連のインターフェイスを定義します。これらはすべてEDC2.DALのクラスによって実装されます。
例を挙げると、次のようになります。
Windsorの流暢なインターフェイスを使用して、EDC2.DALの対応する実装者によって実装されているものとして、EDC2.DaoInterfacesのすべてのインターフェイスを登録したいと思います。
誰かがこれを行う方法を教えてもらえますか?
c# - WindsorContainer で AddComponent を呼び出すときに key パラメータを使用するのはなぜですか?
IWindsorContainer インターフェイスの AddComponent メソッドには、いくつかのオーバーロードがあります。次に例を示します。
と
key パラメータは何に使用され、なぜ使用する必要があるのですか?
inversion-of-control - Castle Windsor は、複数のインターフェイスを実装するクラスにどのように応答しますか?
たとえば、ICustomerService と IOrderService の 2 つのインターフェイスがあり、それぞれに GetCustomer、GetOrder などの関数がいくつかあります。
1 つのクラスで両方のインターフェイスを実装する必要があります: Server.
キャッスル ウィンザーはこれにどのように対応しますか? そもそも可能ですか?2 つのインターフェイスのいずれかに基づいてサーバー オブジェクトを解決すると、同じオブジェクトが得られますか? パラメーターに両方のインターフェースを持つコンストラクターがあるとどうなりますか? まだ1つのオブジェクトが構築されていますか。
LifeStyle がデフォルトの Singleton のままであると仮定します。
.net - Castle Windsor: それで、ActAs は何をするのですか?
Castle Windsor fluent コンポーネント登録インターフェースの ActAs() メソッドがかなり紛らわしいことに気付きました。
私が見つけた唯一の参照は、彼らのwiki hereでした。
TODO (文書化できるもの)
- ActAs() は何をしますか?
あまり役に立ちません。
ソースには、その使用方法の手がかりを与えるメソッドの単体テストがないようです。私はそのソースに慣れていないため、何が起こっているのかを自分で知ることができません。
誰かこれについてもっと知っていますか?
dependency-injection - ウィンザー城: ファクトリで作成されたオブジェクトがファクトリを参照する場合に、ファクトリで作成されたオブジェクトの循環参照を防ぐ方法
IoC コンテナーとしてウィンザー城を使用していますが、ちょっとした問題が発生しました。これはコードで最もよく説明されているので、試してみます。特定のインターフェイスの実装を提供するファクトリ クラスがあります。
ファクトリ クラスの実装は次のようになりますが、これが正しい方法かどうかはわかりません。IObjectCreator defaultCreator;
これで問題なく動作しますが、IObjectCreator インスタンスで特定の IObjectCreator を使用して子オブジェクトを作成する場合は、ObjectCreatorFactory を呼び出します。これにより、明らかに循環参照が発生します。
これはうまくいきません。作成されたオブジェクトが子オブジェクト作成者のファクトリを参照しているこのシナリオでは、どうすればよいでしょうか?
asp.net-mvc - ASP.NETMVCフレームワークでのキャッシュ
私はASP.NETMVCフレームワークの使用にかなり慣れておらず、MVCWebアプリケーションのさまざまな部分をキャッシュする際のベストプラクティスに関するヘルプが見つかることを望んでいました。スタックオーバーフローは、MVCといくつかのかなりフリーキングの素晴らしいキャッシュ技術を使用し、ローカルで実行している場合でも、そのMILESは私のアプリよりも高速であることを知っています。
少し質問があります。
キャッシングは実際にどのように機能し、どのように「有効化」し、さまざまなオプションは何ですか。使用するのに最適なキャッシュの種類は何ですか?
私のアプリには多くのデータベーストランザクションがあり、リストは定期的に変更されます。ユーザーが最新バージョンのデータを取得していないため、ページの更新のタイミングが心配です。Webアプリケーションの速度と「最新の」データの表示のバランスをとる最良の方法は何ですか?この問題に対処する必要があるときに、皆さんはどのようなベストプラクティスを見つけましたか?
さまざまなキャッシュ設定でさまざまな部分(ビューを想定)をキャッシュするにはどうすればよいですか?サブコントローラーで実行できると思いますが、これを実行する方法はNFIにあります。
Castle.Windor統合をコントローラーに使用していますが、これによって何かが変わるかどうかはわかりません。
注意/注意すべき事項のメモに関するその他のベストプラクティスをいただければ幸いです。