2017-07-14 35 views
0

我有一個包含2個項目的Web應用程序解決方案。我正在使用ASP.NET MVC。在MVC中初始化未引用的項目

項目「A」具有所有的網站元素,並且它創建項目「B」對事物做出反應的事件。項目「A」是入口點,項目「B」具有對「A」的引用,以便它可以訂閱A的事件。

我的問題是項目「A」不能引用項目「B」(這將是循環!),所以「B」永遠不會被調用(甚至不是靜態構造函數),它不能訂閱「A」或做任何事情在所有。如果我將「B」作爲入口點,果然,構造函數和所有東西都會被調用,但是我不知道如何正確地創建項目「A」(不出所料,網站不會被創建)。

我該如何解決這個問題?

+0

在Visual Studio中是否存在此問題,因爲在您嘗試調試您的項目? –

+0

這聽起來像是解決方案設計問題。 – maccettura

+0

是的,我在Visual Studio中工作,而且我正在以調試模式構建。 – Pablo

回答

2

這聽起來像是你的架構有問題。

無論誰持有對另一方的引用都應被視爲門衛,並應在啓動時初始化另一方。

在你的情況下,B不應該訂閱A.A應該實例化B並做任何事件佈線是必要的,因此B可以「反應」。

+0

是的,我一直在想這個。我會試圖弄清楚如何從A訂閱B到A,這是有道理的,如果A持有對B的引用,這應該是可能的! – Pablo

+0

它工作完美。我總是從聽衆那裏訂閱活動,但是如果寫在發件人身上,我很高興看到相同的句子起作用! – Pablo