Refactoring per evitare riferimenti circolari

2

Sto lavorando su una soluzione ASP.NET MVC con due progetti, WebUI e DAL. Riferimenti WebUI DAL. DAL ha il repository e il contesto, mentre WebUI contiene le classi di autenticazione e autorizzazione.

Il problema è che devo inviare alcune delle informazioni della richiesta al costrutto context di Entity Framework.

Ho diverse opzioni:

  1. Modifica del costruttore del repository e invio del parametro lì. In questo modo devo cambiare circa 200 riferimenti.

  2. Fare riferimento al progetto WebUI e modificare il repository per estrarre le informazioni richieste. Questo non è possibile, dal momento che WebUI fa riferimento a DAL e I non può aggiungere riferimento circolare.

  3. Costruisci un altro progetto e sposta l'autenticazione e l'autorizzazione interamente su quel progetto e fai riferimento ad esso negli altri due progetti. Questa dovrebbe essere l'opzione migliore, ma è un po 'dolorosa, specialmente se l'autenticazione e il metodo richiesto dipendono dal HttpContext del controller corrente.

Qualsiasi suggerimento e consiglio sono benvenuti, ti preghiamo di comunicarmi se hai bisogno di ulteriori descrizioni.

    
posta Akbari 01.08.2015 - 11:03
fonte

0 risposte

Leggi altre domande sui tag