Una necessità molto comune durante lo sviluppo di un sito web ASP.NET Core, è quella di testarla su un dispositivo mobile. Esistono diversi tool in commercio che permettono di simulare un browser mobile, ma se vogliamo velocemente effettuare una prova, un'altra opzione è quella di esporre Kestrel sulla rete locale e aprire il sito direttamente da un dispositivo connesso a essa.
Innanzi tutto, se stiamo utilizzando Visual Studio 2019, dobbiamo selezionare di avviare l'applicazione tramite Kestrel invece di IIS Express, tramite la dropdown nell'immagine.
Per default, e per ovvie ragioni di sicurezza, Kestrel è esposto solo a richieste provenienti da localhost, e quindi non è accessibile all'esterno della macchina di sviluppo. Per modificare questa impostazione, dobbiamo aprire il file launchSettings.json:
"WebApplication1": { "commandName": "Project", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, "applicationUrl": "https://0.0.0.0:5001;http://0.0.0.0:5000" }
Come possiamo notare dal codice in alto, abbiamo modificato gli URL a cui è esposto il sito, impostandoli all'IP 0.0.0.0 invece che al valore di default localhost. Se stiamo utilizzando Visual Studio 2019, possiamo modificare questa impostazione anche direttamente dalle proprietà del progetto.
A questo punto, avviando l'applicazione riceveremo un prompt dal firewall di Windows per consentire l'accesso dall'esterno al nostro endpoint e, una volta acconsentito, potremo finalmente visitare il nostro sito da un qualsiasi browser connesso nella stessa LAN, semplicemente puntando l'indirizzo IP della macchina di sviluppo:
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Filtrare e rimuovere gli elementi dalla cache del browser tramite le API JavaScript
Implementare il throttling in ASP.NET Core
Utilizzare gli snapshot con Azure File shares
Eseguire attività basate su eventi con Azure Container Jobs
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Aggiungere interattività lato server in Blazor 8
Cambiare la chiave di partizionamento di Azure Cosmos DB
Usare lo spread operator con i collection initializer in C#
Eseguire query verso tipi non mappati in Entity Framework Core
I più letti di oggi
- I nuovi metodi degli array di ECMAScript 5
- Evitare (o ridurre) il repo-jacking sulle GitHub Actions
- Un custom control BoundField con dropdownlist
- .NET Core 3, C#8 and beyond
- Utilizzare long polling in HTML5 per richieste in real time
- Utilizzare le shortcut da tastiera con KeyboardAccelerator nella Universal Windows Platform
- Microsoft Security Bulletin MS05-048