tutorial net asp asp.net-web-api signalr signalr-hub

asp.net-web-api - net - web api c# tutorial



Compartir un concentrador SignalR entre un proyecto de WebApi y MVC (1)

Simplemente configure el enrutamiento de mensajes del señalizador a través de una tabla de SQL Server. Conectará automáticamente todos los concentradores utilizando la misma configuración de enrutamiento. Nada más que hacer, es magia.

GlobalHost.DependencyResolver.UseSqlServer(ConfigurationManager.ConnectionStrings["signalr"].ConnectionString);

Necesitará el siguiente paquete nuget: Microsoft.AspNet.SignalR.SqlServer

¿Existe un enfoque recomendado para compartir un concentrador SignalR en dos aplicaciones?

La situación real es un proyecto WebAPI de cara al público y una aplicación web MVC interna. Lo que me gustaría hacer es llamar a los métodos en un concentrador SignalR desde el proyecto WebAPI y hacer que los resultados de estos métodos sean enviados a los clientes conectados a través de la aplicación MVC.

¿La mejor opción sería crear un tercer proyecto ''Hub'' y tener ambos proyectos conectados a eso? De ser así, ¿cómo se gestionan las instancias del concentrador? ¿Pueden ambas aplicaciones obtener una referencia al mismo concentrador desde distintas agrupaciones de aplicaciones (y posiblemente hosts)?

Leí un poco sobre GlobalHost.ConnectionManager.GetHubContext , ¿sería suficiente para obtener efectivamente un concentrador singleton que ambas aplicaciones podrían usar?

Cualquier pensamiento muy apreciado.