2013-03-18 8 views
7

Ich bin daran interessiert, Azure Service Bus Notification Hubs zu verwenden. Mein erster "Client" wird jedoch eine websocket-basierte Verbindung zu einer ASP.NET MVC-Site mit Knockout sein. Momentan probiere ich SignalR aus, um die Benachrichtigung an die Clients zu senden.Funktionieren Azure Service Bus Notification Hubs mit Websockets und JavaScript?

Es sieht jedoch so aus, als wäre es viel einfacher, wenn ich SB Notification Hubs verwenden könnte. Alle the examples sind Windows oder iOS.

Können Sie Azure Service Bus Notification Hubs mit WebSocket-basierten HTML-Clients verwenden?

+0

Es gibt einen aktualisierten Status zu diesem Thema finden Sie meine Antwort. Ich werde dies aktualisieren, wie ich mehr höre. – Phobis

Antwort

3

Ich bin Programm Manager im Service Bus Team. Es ist nicht geplant, WebSockets in HTML als Ausgabepipeline für Notification Hubs zu unterstützen. Momentan ist es am besten, SignalR zu verwenden, das über den Service Bus skaliert werden kann.

Was sind die Merkmale von Notification Hubs, die Sie zu sagen, dass es SignalR vorzuziehen wäre?

+3

Meine Auswahl ist SignalR + Service Bus oder ein dedizierter Dienst wie Pusher. Mit SignalR stelle ich es in meinen Webrollen in Azure bereit. Es kann nicht mit der gleichen Geschwindigkeit wie meine Web-Nutzung skalieren. Wenn ich dies über einen dedizierten Dienst wie Benachrichtigungs-Hubs mache, muss ich nicht über die serverseitigen Probleme im Zusammenhang mit dem Hosting von SignalR nachdenken oder die Auswirkungen auf den Rest meiner Anwendung. – Doug

+1

Danke für die Antwort auf Doug. Dies ist eine sehr nützliche Rückmeldung. –

+2

Ich wollte den Notification Hub anstelle von SignalR verwenden, um die Last aus dem Server zu entfernen. Die Idee besteht darin, die Last um die Hälfte zu reduzieren, indem Azure den Webbrowser über neue Nachrichten benachrichtigen kann, wodurch permanente Verbindungen auf unserem Server überflüssig werden. Im Zeitalter von Rich-Clients versuchen wir, die Serverlast so weit wie möglich zu reduzieren. – reddy

2

Wir haben mehrere Tage damit verbracht, das zu tun, was Sie beschreiben, aber wir konnten SignalR/WebSockets nicht für die Azure Cloud verwenden. SignalR/WebSockets ist jedes Mal fehlgeschlagen und hat endlose Schleifen von Verbindungsfehlern/-wiederverbindungen ausgelöst. Wir konnten SignalR/LongPolling (nicht WebSockets) erhalten, um erfolgreich an der Azure Cloud zu arbeiten. Wir haben inzwischen erfahren, dass die VM in Azure Cloud WebSockets anscheinend überhaupt nicht unterstützt. Unsere Erfahrung zeigt, dass Sie wahrscheinlich keine WebSocket-basierten HTML-Clients mit SignalR in der Azure-Cloud verwenden können, obwohl Sie LongPolling wahrscheinlich dazu bringen können, OK zu arbeiten.

+2

Dies funktioniert bei Azure Cloud Services für mich. Es gibt eine ganze Reihe von Artikeln darüber, wie dies funktioniert. Sie können das Beispiel für Websites versuchen (nicht dasselbe wie VM, aber sollten Sie zumindest sehen, wenn Sie irgendwo anders ein Problem haben) http://blogs.msdn.com/b/timlee/archive/2013/02 /27/deploy-the-signalr-getting-started-sample-as-a-windows-azure-web-site.aspx – Doug

0

Obwohl es derzeit keine Unterstützung gibt. Diese Antwort kann aufgrund dieser Feature-Anforderungen in der Zukunft aktualisiert werden (übrigens als 'Geplant' markiert).

Sie können auch Ihre Stimmen diese hinzufügen, um sie schneller geschoben: https://feedback.azure.com/forums/218849-notification-hubs/suggestions/4621850-add-support-for-azure-notification-hubs-to-push-me

und hier:

https://feedback.azure.com/forums/34192--general-feedback/suggestions/32466415-web-socket-support-in-notification-hubs