問題タブ [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# - Quartz.net + NHibernate + Windsor.Castle + CommonServiceLocator
シャープ アーキテクチャフレームワークに基づく Web アプリケーションがあります。実際にはDalにNHibernateを使用しており、(VIEW-CONTROLLER)とDALの間にサービスレイヤーを追加しました。
ジョブを頻繁に実行するには、実際にスケジューラを実装する必要があります。そのタスクを実行するためにQuartz.netを使用します。実際、私は問題に直面しています。30秒ごと、毎日、毎週など、さまざまなスケジュールで実行される多くのジョブがあるためです。
Quartz 内でサービス注入を使用してNHibernateを実行する方法があるかどうか、それがジョブの同時実行をサポートするかどうか、つまり 2 つのジョブが同時に実行されるかどうか、NHibernate に問題がないかどうかを知りたいです。NHibernate とマルチスレッドに問題があることは知っています。
Spring 用の Quartz.Net の実装を見つけました ( http://www.zorched.net/2009/03/07/using-quartznet-springnet-and-nhibernate-to-run-scheduled-tasks-in-aspnet/ ) Castle-Windsor の実装 ( http://bugsquash.blogspot.com/2009/03/windsor-facility-for-quartznet.html )。
問題は、この例ではジョブを同時に実行できるケースを考慮していないことです。これは Nhibernate の問題です。そして、CommonServiceLocatorを使用してより高レベルになり、1 つの IC フレームワークに限定されないようにしたいと考えています。
この問題を解決する最善の方法は何ですか?
ご協力いただきありがとうございます
dependency-injection - ウィンザー城と自動登録
私は Castle n00b で、Castle Windsor の Fluent API を使用して、命名規則に基づいて実装をサービスに自動登録しています (ISomething は Something によって実装されています)。私がサポートしたかったことの 1 つは、自動登録が個別の dll にある依存関係を取得し、それらも自動登録することです。
つまり、IFoo は Foo (どちらも Foo.dll 内) によって実装され、Foo は Bar.dll 内の IBar に依存します。
自動登録を実際に実行するために、次のコードを記述しました。うまくいきそうですが、自分で頑張りすぎたのか気になります。同じことを達成するためのより簡単な方法はありますか?
c# - Windsor WCF 統合機能の非同期
私は Windsor WCF Integration Facility を使用しており、メソッドを asnyc で呼び出す方法を現在探しています。バックグラウンドワーカーを使用して完了時に作業を行うことを検討していました。これを行うためのよりエレガントな方法はありますか?選択された方法に満足していません。
次のメールを確認しました: http://groups.google.com/group/castle-project-devel/browse_thread/thread/9250110e258ccdcd Krzysztof Koźmic から。解決策は素晴らしいようですが、私が理解しているように、それは単なるプロトタイプだと言われています。
api - Castle Windsor Fluent API: 依存関係を明示的に定義する
以下の構成を考えると
インターフェイス「I」がプロパティ「P」を公開し、クラス A と B を P に割り当てることができることがわかっている場合。AllTypes 呼び出しからの型の最初のコレクションは、"foo" の ID を持つ型に設定されたプロパティ P を持つ必要があり、2 番目のコレクションは "foobar" の ID を持つ型に設定された同じプロパティを持つ必要があることを明示的に述べるにはどうすればよいですか? "?
XML 構成を使用すると、${id} 表記を使用してパラメーターを明示的に設定することで、これを行うことができます。流暢なAPIでも同様だと思います。
ありがとう。
inversion-of-control - キャッスルウィンザーでコンポーネントを上書きする方法は?
特定の winsor-container で (デフォルトの) 実装を再定義したいと考えています。それがOverWriteの目的ですか?しかし、うまくいきません。
他のアイデアはありますか?
乾杯、ラース
c# - Castle.Windsor インターセプターで AllTypes を登録する
以下が LogAspect で IBusinessService への呼び出しをインターセプトしないのはなぜですか?
Component.For 構文を使用して IBusinessService の各実装を登録すると、機能します。
.net - クラスへのパラメーターとしての IWindsorContainer
IOC コンテナー (Windsor) にアクセスしたいクラスがありますが、静的な IWindsorContainer プロパティを保持したくありません。コンストラクターの依存関係。
Unity でこれを実行しましたが、Windsor コンテナーで同じことを試すと、IWindsorContainer がコンテナーに登録されていないことがわかります。
IWindsorContainer => WindsorContainer を登録することはできないと思います。これにより、コンテナがそれ自体の新しい (または別の) インスタンスを作成してクラスに渡し、そのインスタンスに他のすべての型が登録されなくなるためです。それ。また、コンテナーを構築し、その中のすべての型を登録し、それ自体のインスタンスを IWindsorContainer に対して登録する方法もわかりません。すべての登録メソッドは、サービスと実装の型のみを受け取ります。実際の具体的なインスタンスではありません。
castle-windsor - Windsor MixIn はシングルトンですか?
動作するためにいくつかの状態を必要とする MixIn があります。
そのまま登録してます..
container.Resolve(of ICat) を呼び出すと、IMixin も実装する ICat のプロキシが返されます。
ただし、container.Resolve(of ICat) を再度呼び出すと、ICat の新しいプロキシが取得されますが、MyMixin は同じインスタンスです。(IMixin を作成する方法をコンテナに伝えていないので、これは理にかなっています)
したがって、コンポーネントのライフスタイルが一時的であっても、IMixin はシングルトンです。
コンポーネントの MyMixIn の新しいインスタンスを作成するように、Fluent Interface を使用して Windsor に指示するにはどうすればよいですか?
c# - Castle.Windsor で複数のサービスを提供する単一のコンポーネント インスタンスを構成するにはどうすればよいですか?
単一のシングルトン スタイルのインスタンスがコンテナーを介して 2 つ以上のサービスを提供できるように、Windsor コンテナーを構成したいと考えています。
複数のコンポーネント宣言 (XML ベースの構成) で同じ型を使用すると、各コンポーネントのサービス インターフェイスを提供するためにその型のインスタンスが作成されることがわかりましたが、これは私が望む動作ではありません。
例えば:
AB の 1 つのインスタンスで IA サービスと IB サービスの両方を提供したいと考えています。
これを行いたい具体的な理由は、具体的な DAO 実装が複数のインターフェイスを拡張するためです。反対に、さまざまなインターフェイスへの参照を保持するワーカー コンポーネントがいくつかあります。具体的な DAO インスタンスはこれを尊重しますが、これらの個別のワーカー コンポーネントのコンストラクターは、個別のインターフェイスの実装を必要とし、Castle.Windsor がそれぞれのサービス リクエストを介してこれらのワーカー コンテナーに同じオブジェクト インスタンスを渡すことを望みます。
笑、泥のように澄んでいたと思います!:P
コンポーネントの XML 構成を介してこれを達成する方法を知っている人はいますか?