Connessione ai servizi di Azure, gRPC, OpenAPI e altro ancora

Gli sviluppatori creano app con un numero crescente di servizi, ma le tecnologie del servizio si stanno evolvendo altrettanto velocemente.

Con i servizi Connessione ed di Visual Studio, si ottiene un'esperienza di consumo di servizi moderna che consente a ogni servizio di personalizzare l'esperienza di consumo, richiedendo le domande pertinenti necessarie per iniziare rapidamente.

Connessione ed Services include una raccolta di strumenti in Visual Studio che consentono di connettere l'applicazione agli elementi seguenti:

  • Servizi di Azure
  • Endpoint OpenAPI
  • Endpoint gRPC (Remote Procedure Call)
  • Endpoint di Windows Communication Foundation (WCF)
  • Database e provider di dati

Per iniziare, fare clic con il pulsante destro del mouse sul nodo Servizi Connessione ed in Esplora soluzioni e scegliere Gestisci servizi Connessione ed.

Per iniziare, fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Aggiungi > servizio Connessione ed. È anche possibile fare clic con il pulsante destro del mouse sul nodo Servizi Connessione in Esplora soluzioni e scegliere un servizio specifico da aggiungere.

I tipi di progetto supportati variano in base al tipo di servizio. Nelle selezioni elencate verranno visualizzate le opzioni applicabili al tipo di progetto.

Molte sottoscrizioni di Visual Studio includono crediti singoli di sviluppo/test di Azure. Se si è un sottoscrittore di Visual Studio, è possibile usare questi crediti per provare diversi servizi di Azure senza costi. Se non si è un sottoscrittore e non si ha una sottoscrizione di Azure, è possibile creare un account gratuito.

Connessione'app ai servizi di Azure

Usare i servizi Connessione ed per connettere l'applicazione a emulatori di servizi di Azure live e ad altre alternative locali ai servizi di Azure. Visual Studio supporta attualmente quanto segue:

Nome Descrizione
Configurazione app di Azure Accedere alle impostazioni chiave-valore e ai flag di funzionalità gestiti centralmente in Azure.
app Azure Insights Fornisce la gestione estendibile delle prestazioni delle applicazioni e il monitoraggio per le app Web in tempo reale.
Servizio app di Azure Fornisce l'hosting completo e scalabile di app Web live.
Funzioni di Azure Fornisce servizi di calcolo scalabili su richiesta per le API Web e altro ancora.
Archiviazione di Azure Archiviazione cloud scalabile con supporto per BLOB, tabelle, code, dischi.
Servizio Azure SignalR Funzionalità Web in tempo reale su HTTP.
Azure Key Vault Proteggere l'archiviazione cloud per le chiavi crittografiche e altri segreti usati dalle applicazioni Azure.
Database SQL di Azure Database SQL ospitata nel cloud.
Cache Redis di Azure Archivio dati in memoria basato sul software Redis.
Azure Cosmos DB Un database NoSQL completamente gestito per lo sviluppo di app moderne.
Piattaforma di identità Microsoft Autenticazione con identità Microsoft e account di social networking.

Nota

Usando Publish è possibile distribuire l'applicazione in servizi di hosting di Azure come macchine virtuali di Azure, servizio app Azure, Funzioni di Azure e Registro Azure Container

Database e provider di dati

Visual Studio offre opzioni per connettersi ai database locali, alle versioni emulate in locale dei provider di dati e ai servizi di database di Azure.

Nome Descrizione
Emulatore di Azure Cosmos DB nel contenitore Emulatore di Azure Cosmos DB in esecuzione in un contenitore locale.
MongoDB nel contenitore I database di documenti mongoDB offrono affidabilità elevata e scalabilità semplificata. Questa opzione lo rende disponibile in un contenitore locale.
PostgreSQL nel contenitore PostgreSQL è un sistema di database relazionale a oggetti che fornisce affidabilità e integrità dei dati. Questa opzione lo rende disponibile in un contenitore locale.
SQLite SQLite è una libreria in-process che fornisce un'istanza autonoma di SQL Server transazionale motore di database senza alcuna configurazione.
Database SQL Server Database di SQL Server locale.

Supporto per emulatori di Azure e alternative locali

Visual Studio semplifica lo sviluppo di applicazioni Azure in locale semplificando la transizione dai servizi emulati in locale ai servizi in esecuzione nel cloud. È possibile usare i servizi Connessione ed per connettere l'applicazione agli emulatori locali, alcuni dei quali eseguiti in un contenitore locale e altre alternative locali ai servizi di Azure. Visual Studio supporta attualmente quanto segue:

Visual Studio genera qualsiasi codice client o server necessario per facilitare la comunicazione.

Nome Descrizione
Emulatore di Azure Cosmos DB nel contenitore Emulatore di Azure Cosmos DB in esecuzione in un contenitore locale.
Emulatore di archiviazione di Azure Azurite è un emulatore Archiviazione di Azure che viene eseguito nel computer locale.
Application Insights SDK Modalità locale per il servizio Application Insights.
RabbitMQ nel contenitore RabbitMQ è un broker di messaggi multiprotocol open source. Questa opzione lo rende disponibile in un contenitore locale.
cache di Azure per Redis nel contenitore cache di Azure per Redis ospitata in un contenitore locale.
Secrets.json Alternativa locale per Key Vault.
SQL Server Express Local DB Alternativa locale alla database SQL di Azure.

Connessione l'app agli endpoint gRPC, OpenAPI e WCF

Usare i servizi Connessione ed per connettere l'applicazione a uno dei servizi seguenti:

Nome collegamento ASP.NET Descrizione
Endpoint OpenAPI Sviluppare app ASP.NET Core con OpenAPI Formato standard per descrivere le funzionalità di un servizio in formato leggibile e leggibile dal computer.
Endpoint gRPC Introduzione ai servizi gRPC in .NET Servizio chiamante di routine in tempo reale open source.
Endpoint WCF N/D Soluzione .NET Framework che supporta la programmazione con una rete distribuita di servizi.

Contenitori

Connessione ed Services consente di eseguire dipendenze dell'applicazione che emulano i servizi di Azure in locale in un contenitore. Ad esempio, è possibile eseguire l'emulatore Archiviazione di Azure denominato Azurite in un contenitore in locale. La sezione successiva descrive il supporto fornito da Visual Studio per la transizione dell'app dalla modalità di sviluppo, quando si usano questi servizi fittizi nei contenitori, all'uso dei servizi reali in esecuzione in Azure.

Configurazioni locali e connesse

Durante lo sviluppo, in genere si usa un emulatore locale, un database locale o un servizio fittizio in esecuzione in un contenitore locale. Quando si usa il processo di pubblicazione in Visual Studio per eseguire la distribuzione nel cloud, ad esempio Azure, Hub Docker o un altro ambiente remoto supportato, Visual Studio può guidare la transizione alla connessione ai servizi e ai database reali. Quando si fa clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e si sceglie Pubblica, si viene guidati tramite la distribuzione dell'app nel cloud, ma in seguito le dipendenze del servizio configurate in precedenza per l'uso locale vengono ora visualizzate nell'interfaccia utente dei servizi Connessione ed con un'icona di attenzione gialla e un collegamento Configura:

Screenshot showing the Configure option in the Connected Services tab.

Se si fa clic su questi collegamenti, Visual Studio presenterà alcune schermate che richiedono le informazioni di connessione al servizio "reale" in esecuzione nel cloud che verrà usata dall'app cloud anziché dal servizio locale. Ad esempio, se inizialmente è stata configurata un'app per l'esecuzione con un'istanza in esecuzione locale di SQL Local DB, è stato specificato un nome stringa di connessione e un valore iniziale a cui si fa riferimento Local DB database. Dopo la prima distribuzione dell'app in un ambiente cloud, è possibile usare i collegamenti Configura per specificare il stringa di connessione da usare nel cloud. Per gli scenari di distribuzione di Azure, Visual Studio offre anche la possibilità di usare un insieme di credenziali delle chiavi di Azure per archiviare in modo sicuro i stringa di connessione e altri segreti.

Screenshot showing the options presented to replace the SQL LocalDB service with a real database connection.

Funzionamento

Visual Studio crea due nuovi file visibili in Esplora soluzioni in Proprietà denominate serviceDependencies.json e serviceDependencies.local.json. Entrambi questi file sono sicuri da archiviare perché non contengono segreti.

Visual Studio crea anche un file denominato serviceDependencies.local.json.user che non è visibile in Esplora soluzioni per impostazione predefinita. Questo file contiene informazioni che potrebbero essere considerate un segreto (ad esempio, ID risorsa in Azure) e non è consigliabile archiviarlo.