Aggiornamento di progetti SignalR 1. x alla versione 2
Avviso
Questa documentazione non è per la versione più recente di SignalR. Esaminare ASP.NET Core SignalR.
Questo argomento descrive come aggiornare un progetto SignalR 1.x esistente a SignalR 2.x e come risolvere i problemi che possono verificarsi durante il processo di aggiornamento.
Versioni software usate nell'esercitazione
- Visual Studio 2013
- .NET 4.5
- SignalR versioni 1 e 2
Uso di Visual Studio 2012 con questa esercitazione
Per usare Visual Studio 2012 con questa esercitazione, seguire questa procedura:
- Aggiornare Gestione pacchetti alla versione più recente.
- Installare il programma di installazione della piattaforma Web.
- Nel programma di installazione della piattaforma Web cercare e installare ASP.NET and Web Tools 2013.1 per Visual Studio 2012. Verranno installati i modelli di Visual Studio per le classi SignalR, ad esempio Hub.
- Alcuni modelli (ad esempio OWIN Startup Class) non saranno disponibili; per questi, usare invece un file di classe.
Domande e commenti
Lasciare commenti e suggerimenti su come è piaciuta questa esercitazione e cosa è possibile migliorare nei commenti nella parte inferiore della pagina. Se si hanno domande che non sono direttamente correlate all'esercitazione, è possibile pubblicarle nel forum di ASP.NET SignalR o StackOverflow.com.
SignalR 2 offre un'esperienza di sviluppo coerente tra piattaforme server che usano OWIN. Questo articolo descrive i pochi passaggi necessari per aggiornare un'applicazione SignalR 1.x alla versione 2.
Sebbene sia consigliabile aggiornare le applicazioni a SignalR 2, SignalR 1.x sarà ancora supportato.
Questa esercitazione descrive come aggiornare un'applicazione ospitata sul Web a SignalR 2. Le applicazioni self-hosted (quelle che ospitano un server in un'applicazione console, un servizio Windows o un altro processo) sono ora supportate in SignalR 2. Per informazioni su come iniziare a creare un'applicazione self-hosted con SignalR 2, vedere Esercitazione: Self-Host SignalR.
Contenuto
Le sezioni seguenti descrivono le attività relative all'aggiornamento dei progetti SignalR e come risolvere i problemi che possono verificarsi.
- Esempio: Aggiornamento dell'esercitazione Introduzione a SignalR 2
- Risoluzione degli errori riscontrati durante l'aggiornamento
Esempio: Aggiornamento dell'applicazione dell'esercitazione Introduzione a SignalR 2
In questa sezione si aggiornerà l'applicazione creata nella versione SignalR 1.x dell'esercitazione Introduzione per usare SignalR 2.
Al termine dell'esercitazione Introduzione, fare clic con il pulsante destro del mouse sul progetto e scegliere Proprietà. Verificare che il framework di destinazione sia impostato su .NET Framework 4.5.
Aprire la Console di Gestione pacchetti. Rimuovere SignalR 1.x dal progetto usando il comando seguente:
Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
Installare SignalR 2 usando il comando seguente:
Install-Package Microsoft.AspNet.SignalR
Nella pagina HTML aggiornare il riferimento allo script per SignalR in modo che corrisponda alla versione dello script ora incluso nel progetto.
<!--Reference the SignalR library. --> <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
Nella classe applicazione globale rimuovere la chiamata a MapHubs.
protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHubs(); }
Fare clic con il pulsante destro del mouse sulla soluzione e scegliere Aggiungi, Nuovo elemento. Nella finestra di dialogo selezionare Classe di avvio Owin. Assegnare alla nuova classe il nome Startup.cs.
Sostituire il contenuto di Startup.cs con il codice seguente:
using Microsoft.Owin; using Owin; [assembly: OwinStartup(typeof(SignalRChat.Startup))] namespace SignalRChat { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } }
L'attributo assembly aggiunge la classe al processo di avvio di Owin, che esegue il
Configuration
metodo all'avvio di Owin. A sua volta chiama ilMapSignalR
metodo , che crea route per tutti gli hub SignalR nell'applicazione.Eseguire il progetto e copiare l'URL della pagina principale in un altro browser o riquadro del browser, come in precedenza. Ogni pagina richiederà un nome utente e i messaggi inviati da ogni pagina devono essere visibili in entrambi i riquadri del browser.
Risoluzione degli errori riscontrati durante l'aggiornamento
Questa sezione descrive i problemi che possono verificarsi durante l'aggiornamento. Per un elenco più completo di errori e problemi che possono verificarsi con un'applicazione SignalR, vedere Risoluzione dei problemi di SignalR.
'La chiamata è ambigua tra i metodi o le proprietà seguenti'
Questo errore si verificherà se non viene rimosso un riferimento a Microsoft.AspNet.SignalR.Owin
. Questo pacchetto è deprecato; il riferimento deve essere rimosso e la versione 1.x del pacchetto SelfHost deve essere disinstallata.
I metodi hub hanno esito negativo in modo invisibile all'utente
Verificare che i riferimenti allo script nel client siano aggiornati e che l'attributo OwinStartup
per la classe Startup abbia i nomi di classe e assembly corretti per il progetto. Provare anche ad aprire l'indirizzo hub (/signalr/hubs) nel browser; qualsiasi errore visualizzato offrirà altre informazioni su ciò che sta andando storto.any error that appears will offer more information about what's going wrong.