11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Marco,
sì, puoi continuare a organizzare le funzionalità in progetti Class Library (.NET Standard 2.0), che poi referenzierai di volta in volta nei vari progetti che ne fanno uso. Io ti consiglio di fare anche un passo in più: creare un pacchetto NuGet che inserirai in un tuo repository privato. Così sarà molto facile aggiungere il riferimento dagli altri progetti e potrai beneficiare di tutto lo storico delle versioni che hai prodotto. È un buon modo per tenere organizzati i rilasci. Leggi qui: http://www.aspitalia.com/script/1264/Creare-Feed-NuGet-Privato.aspx


Ho in mente questa logica: Il Controller chiama l'api che si occupa di inserire/Aggiornare/ritornare i dati e che poi ritorna la risposta al controller...

Sicuramente è possibile inserire dei web api controller in un progetto class library, così come delle pagine web di gestione, ma non so se nel tuo caso è effettivamente necessario. Un controller web api ti permette di invocarlo via HTTP ma tu dici di volerlo invece chiamare da un controller di ASP.NET Core MVC. In questo caso ti basta creare una classe tipo la seguente. Supponiamo che tu voglia esporre la funzionalità di gestione dei clienti:
public class CustomerRepository {
  public IEnumerable<Customer> GetAll() { /* implementazione */ }
  public Customer GetById(string customerId) { /* implementazione */ }
  // Qui altri metodi di inserimento, aggiornamento e eliminazione
}

Il controller di ASP.NET Core MVC invocherà direttamente i metodi GetAll(), GetById() e così via, senza passare per alcuna web api. E per fare un passo in più: puoi sfruttare il meccanismo di dependency injection di ASP.NET Core per fare in modo ad esempio che venga creata solo una connessione al database per richiesta, ottimizzando così le risorse. Leggi qui per una breve introduzione: http://www.aspitalia.com/script/1239/Dependency-Injection-ASP.NET-Core.aspx.

ciao,
Moreno

Enjoy learning and just keep making
Grazie mille, capito tutto, inizio ad approfondire!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.