2017-07-14 16 views
0

私は2つのプロジェクトを持つWebアプリケーションソリューションを用意しています。私はASP.NET MVCを使用しています。MVCで参照されていないプロジェクトを初期化する

プロジェクト "A"にはすべてのウェブサイト要素が含まれており、プロジェクト "B"が何かに反応するイベントを作成します。プロジェクト "A"はエントリーポイントであり、プロジェクト "B"はAのイベントを購読できるように "A"への参照を持っています。

私の問題は、プロジェクト "A"はプロジェクト "B"(サイクリックです!)を参照できないので、 "B"は決して呼び出されない(静的コンストラクタでさえない)、 "A"まったく。

"B"をエントリポイントにすると、コンストラクタやすべてが呼び出されますが、プロジェクトAを正しく開始する方法はわかりません(当然、Webサイトは作成されません)。

この問題を解決するにはどうすればよいですか?

+0

この問題はVisual Studioでプロジェクトをデバッグしようとしているためですか? –

+0

これはソリューション設計の問題のようです。 – maccettura

+0

はい、Visual Studioで作業していますが、今はデバッグモードでビルドしています。 – Pablo

答えて

2

あなたのアーキテクチャに問題があるようです。

ゲートキーパーとみなされるべきであり、起動時に他のゲートキーパーを初期化する必要があります。

あなたのケースでは、BはAに加入していてはいけません.AはBをインスタンス化し、Bが反応するために必要なイベントワイヤーアップを実行する必要があります。

+0

はい、私はこれについて考えていました。私はBをAからAに購読する方法を理解しようとしますが、AがBへの参照を保持しているなら、これが可能であることが理にかなっています! – Pablo

+0

それは完全に働いた。私はいつもリスナーからイベントを購読していましたが、送信者に書かれていれば同じ文章が見られるのはうれしいです! – Pablo

関連する問題