Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Advertencia
Esta documentación no es para la última versión de SignalR. Eche un vistazo a ASP.NET Core SignalR.
En este tema se describe cómo actualizar un proyecto de SignalR 1.x existente a SignalR 2.x y cómo solucionar problemas que pueden surgir durante el proceso de actualización.
Versiones de software usadas en el tutorial
- Visual Studio 2013
- .NET 4.5
- Versiones 1 y 2 de SignalR
Uso de Visual Studio 2012 con este tutorial
Para usar Visual Studio 2012 con este tutorial, haga lo siguiente:
- Actualice el Administrador de paquetes a la versión más reciente.
- Instale el Instalador de plataforma web.
- En el Instalador de plataforma web, busque e instale ASP.NET y Web Tools 2013.1 para Visual Studio 2012. Esto instalará plantillas de Visual Studio para clases de SignalR como Hub.
- Algunas plantillas (como OWIN Startup Class) no estarán disponibles; para estos, use un archivo de clase en su lugar.
Preguntas y comentarios
Deje sus comentarios sobre cómo le gustó este tutorial y lo que podríamos mejorar en los comentarios en la parte inferior de la página. Si tiene preguntas que no están directamente relacionadas con el tutorial, puede publicarlas en el foro de ASP.NET SignalR o StackOverflow.com.
SignalR 2 ofrece una experiencia de desarrollo coherente entre plataformas de servidor mediante OWIN. En este artículo se describen los pocos pasos necesarios para actualizar una aplicación SignalR 1.x a la versión 2.
Aunque se recomienda actualizar las aplicaciones a SignalR 2, se seguirá admitiendo SignalR 1.x.
En este tutorial se describe cómo actualizar una aplicación hospedada en web a SignalR 2. Las aplicaciones autohospedada (aquellas que hospedan un servidor en una aplicación de consola, servicio de Windows u otro proceso) ahora se admiten en SignalR 2. Para obtener información sobre cómo empezar a crear una aplicación autohospedada con SignalR 2, consulte Tutorial: SignalR Self-Host.
Contenido
En las secciones siguientes se describen las tareas relacionadas con la actualización de proyectos de SignalR y cómo solucionar problemas que pueden surgir.
- Ejemplo: Actualización del tutorial de introducción a SignalR 2
- Solución de errores detectados durante la actualización
Ejemplo: Actualización de la aplicación del tutorial de introducción a SignalR 2
En esta sección, actualizará la aplicación creada en la versión SignalR 1.x del Tutorial de introducción para usar SignalR 2.
Una vez que haya terminado el tutorial introducción, haga clic con el botón derecho en el proyecto y seleccione Propiedades. Compruebe que la plataforma de destino está establecida en .NET Framework 4.5.
Abra la Consola del administrador de paquetes. Quita SignalR 1.x del proyecto mediante el siguiente comando:
Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependenciesInstale SignalR 2 con el comando siguiente:
Install-Package Microsoft.AspNet.SignalREn la página HTML, actualice la referencia de script de SignalR para que coincida con la versión del script que ahora se incluye en el proyecto.
<!--Reference the SignalR library. --> <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>En la clase de aplicación global, quite la llamada a MapHubs.
protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHubs(); }Haga clic con el botón derecho en la solución y seleccione Agregar, Nuevo elemento.... En el cuadro de diálogo, seleccione Clase de inicio de Owin. Asigne a la nueva clase el nombre Startup.cs.
Reemplace el contenido de Startup.cs por el código siguiente:
using Microsoft.Owin; using Owin; [assembly: OwinStartup(typeof(SignalRChat.Startup))] namespace SignalRChat { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } }El atributo de ensamblado agrega la clase al proceso de inicio de Owin, que ejecuta el
Configurationmétodo cuando se inicia Owin. Esto, a su vez, llama al métodoMapSignalR, que crea rutas para todos los hubs de SignalR de la aplicación.Ejecute el proyecto y copie la dirección URL de la página principal en otro explorador o panel del explorador, como antes. Cada página solicitará un nombre de usuario y los mensajes enviados desde cada página deben estar visibles en ambos paneles del explorador.
Solución de errores detectados durante la actualización
En esta sección se describen los problemas que pueden surgir durante la actualización. Para obtener una lista más completa de errores y problemas que pueden producirse con una aplicación SignalR, consulte Solución de problemas de SignalR.
"La llamada es ambigua entre los métodos o propiedades siguientes"
Este error se producirá si no se quita una referencia a Microsoft.AspNet.SignalR.Owin . Este paquete está en desuso; la referencia debe quitarse y se debe desinstalar la versión 1.x del paquete SelfHost.
Los métodos del concentrador fallan sin generar notificaciones
Compruebe que las referencias de script en el cliente están actualizadas y que el OwinStartup atributo de la clase Startup tiene los nombres de ensamblado y clase correctos para el proyecto. Además, intente abrir la dirección de los concentradores (/signalr/hubs) en el explorador; cualquier error que aparezca ofrecerá más información sobre lo que va mal.