what signal hubs example c# .net wpf winforms signalr

c# - hubs - ¿Es correcto usar SignalR para aplicaciones de escritorio?



signalr hubs (3)

¿SignalR es adecuado para las aplicaciones de escritorio de Windows (winforms / wpf)?

La respuesta de signalr.net es:

SignalR se puede usar para agregar cualquier tipo de funcionalidad web "en tiempo real" a su aplicación ASP.NET.

(Según lo indicado correctamente por otros, puede ser auto hospedado, por lo que no es necesario IIS )

Entonces la respuesta parece ser no . Es una API del lado del servidor. Pero hoy es su día de suerte, ya que la descarga de SignalR no solo revela la API del lado del servidor, sino también una API del lado del cliente llamada Microsoft.AspNet.SignalR.Client45 para usar en su aplicación. Funciona para WPF, WF o incluso aplicaciones de consola.

E incluso si no fuera así, SignalR es solo una envoltura alrededor del protocolo WebSockets , que es parte del protocolo HTTP, que puede usarse en prácticamente cualquier plataforma. La descarga también contiene una muestra para iOS y Xamarin, por ejemplo.

¿Cuáles son las ventajas y desventajas de utilizar SignalR con las aplicaciones de escritorio de Windows?

Para tener notificaciones en tiempo real desde y hacia el servidor.

¿Hay algún problema de rendimiento?

Esa es una pregunta difícil de responder, ya que no hay un punto de referencia. En comparación con lo que el rendimiento es bueno o malo? En general, no creo que tengas que preocuparte mucho por eso. La API en sí misma es rápida, y puede evitar que las solicitudes de extracción sean lentas si necesita hacer otra cosa.

¿SignalR es adecuado para las aplicaciones de escritorio de Windows (winforms / wpf)?

¿Cuáles son las ventajas y desventajas de utilizar SignalR con las aplicaciones de escritorio de Windows?

¿Hay alguna consideración de rendimiento?

Quiero hacer conexiones en tiempo real entre el servidor y muchos clientes. Las conexiones serán constantes.


En una configuración con un servidor y muchos clientes: si necesita notificaciones "push" del servidor a algunos clientes, entonces es bueno utilizar SignalR.

Lo hago con clientes de WPF.


Es absolutamente correcto consumir el concentrador SinglarR en cualquier aplicación cliente, WPF, Windows Phone, UWP, iOS, Android, incluido HTML. Microsoft ha creado bibliotecas cliente en muchas plataformas.

Cuando se trata de alojar SignalR, definitivamente puede hospedar su servidor SingalR (hub) en la aplicación WPF, pero necesita una razón:

La razón puede ser:

  • IIS no está disponible
  • No sabes de antemano dónde se utilizará la aplicación. Solo necesitas ejecutar una aplicación, que notificará a otras aplicaciones.
  • Rendimiento: IIS agrega cierta sobrecarga de rendimiento.

Por cierto, SignalR y OWIN han sido una inspiración para el nuevo ASP.NET 5. Ahora puede alojar sus aplicaciones ASP.NET en WPF, aplicación de consola o aplicación de servicio de Windows sin IIS, o incluso en Linux.

http://www.asp.net/signalr/overview/deployment/tutorial-signalr-self-host