2017-07-14 1 views
0

J'ai une solution d'application Web avec 2 projets. J'utilise ASP.NET MVC. Le projet "A" contient tous les éléments du site Web et crée des événements auxquels le projet "B" réagit en faisant des choses. Le projet "A" est le point d'entrée, et le projet "B" a une référence à "A" afin qu'il puisse s'abonner aux événements de A. Mon problème est que le projet "A" ne peut pas référencer le projet "B" (qui serait cyclique!), Donc "B" n'est jamais appelé (pas même les constructeurs statiques) et il ne peut pas s'abonner à "A" du tout. Si je fais "B" le point d'entrée, bien sûr, les constructeurs et tout sont appelés, mais je ne sais pas comment faire correctement démarrer le projet "A" (sans surprise, le site n'est pas créé).Initialiser un projet non référencé dans MVC

Comment résoudre ce problème?

+0

Est-ce un problème dans Visual Studio, car vous essayez de déboguer vos projets? –

+0

Cela ressemble à un problème de conception de solution. – maccettura

+0

Oui, je travaille dans Visual Studio et je suis en train de construire en mode debug pour le moment. – Pablo

Répondre

2

Cela ressemble à un problème avec votre architecture. Celui qui détient la référence à l'autre doit être considéré comme le gardien de porte et doit initialiser l'autre au démarrage. Dans votre cas, B ne devrait pas être abonné à A. A devrait instancier B et faire le câblage nécessaire pour que B puisse «réagir».

+0

Oui, j'y ai réfléchi. Je vais essayer de comprendre comment abonner B à A à partir de A, il est logique que cela soit possible si A contient une référence à B! – Pablo

+0

Cela a fonctionné parfaitement. J'avais toujours souscrit des événements de l'auditeur, mais je suis heureux de voir la même phrase fonctionne si elle est écrite sur l'expéditeur! – Pablo