zu machen Ich verwende Microsoft SignalR, um die Benachrichtigung an Browser zu pushen. Diese Benachrichtigungen werden durch Aktionen anderer Browser ausgelöst. Ich möchte eine Hintergrundaufgabe machen, die manchmal Benachrichtigungen sendet. Zum Beispiel um 12:45:21 möchte ich eine Benachrichtigung an alle angeschlossenen Benutzer senden, auch wenn sie nichts tun. Ist es möglich, das zu tun?Ist es möglich, eine Hintergrundaufgabe mit SignalR
Antwort
SignalR bietet Ihnen nicht die Möglichkeit, eine Hintergrundaufgabe auszuführen, aber wenn Sie eine Hintergrundaufgabe ausführen, gibt es nichts, was Sie daran hindert, mit Ihrem SignalR-Hub Clientmethoden aufzurufen und eine beliebige Benachrichtigung zu senden.
Um Ihre Hintergrundaufgabe zu starten und zu steuern, ist Hangfire eine flexible Bibliothek, die helfen sollte.
bearbeiten hinzuzufügen: Da Sie geklärt haben Sie dies in einem Windows-Dienst, eine weitere prominente Bibliothek Erstellung und Bereitstellung von Dienstleistungen zu unterstützen, tun mögen, ist TopShelf
bearbeiten hinzuzufügen: Auch ich aus Ihrem Kommentar sammle dass Sie versuchen, zu verstehen, wie Sie von Ihrer Hintergrundaufgabe auf das Hub-Objekt zugreifen? Es gibt viele Möglichkeiten, dies zu erreichen, aber um die Testbarkeit und Wartbarkeit Ihres Programms zu verbessern, empfehle ich die Verwendung eines IoC (Inversion of Control) Containers, und die notwendigen Referenzen - dieses Tutorial: Dependency Injection in SignalR hat eine Walkthrough mit der Ninject Bibliothek. Diese Walkthrough ist auf asp.net-Hosting ausgerichtet, aber der Link, den Sie gefunden haben, sollte bei der Anpassung an einen Windows-Dienst helfen.
- 1. ist es möglich, Video mit SignalR zu streamen?
- 2. Mit SignalR, ist es möglich, nur eine Person oder eine Gruppennachricht zu senden?
- 3. WebTest für SignalR möglich?
- 4. Android Hintergrundaufgabe mit Hauptklasse
- 5. Ist es möglich, eine Namenskollision mit URLEncoder
- 6. Ist es möglich, eine URL mit PHP
- 7. eine endliche Länge Hintergrundaufgabe Lauf
- 8. Ist es möglich mit JWT?
- 9. Ist es möglich, mit MKLocalSearch
- 10. So planen Sie eine Hintergrundaufgabe
- 11. Hintergrundaufgabe, wenn die iOS-App geschlossen ist
- 12. Ist es möglich, eine Binärdatei zu verschieben?
- 13. Ist es möglich, eine Transaktion ignorieren
- 14. Ist es möglich, eine Lambda-Funktion anzugeben?
- 15. Ist es möglich, eine SQL-Abfrage anzuhalten?
- 16. Ist es möglich, eine Firebase-Liste umzukehren?
- 17. Ist es möglich, eine lazy_conditional metafunction
- 18. Ist es möglich, eine minimale Darstellungshöhe einstellen
- 19. Ist es möglich, eine Goroutine zu verschieben?
- 20. Es ist möglich, %% i in eine% variable%
- 21. Ist es möglich, eine ListViewGroup zu erstellen
- 22. Ist es möglich, eine Funktion in zeitgesteuerte Schleife mit django-Hintergrund-Aufgabe setzen
- 23. Ist es möglich path.Data
- 24. ist es möglich,
- 25. Xamarin + SignalR (Senden ist möglich, aber keine Nachrichten erhalten)
- 26. SIGNALR HttpContext.Current ist null
- 27. R Shiny - Kontinuierliche Hintergrundaufgabe
- 28. Hintergrundaufgabe unter iOS
- 29. Symfony2 Hintergrundaufgabe
- 30. Ist es möglich, eine Windows-Verknüpfung mit PHP zu erstellen?
Denkst du, es ist einfach, einen Windows-Dienst zu schreiben, der Informationen an signalR sendet? – Bob5421
Ich glaube, ich habe etwas gefunden: https://code.msdn.microsoft.com/windowsapps/SignalR-self-hosted-in-6ff7e6c3/sourcecode?fileId=116569&pathId=163103385 Denkst du, das kann für mein Problem funktionieren? – Bob5421
In der Tat, was ich wissen will, ist: Im Falle von selbst-Host-Signal R-Programm, wie kann ich einen Timer in Hauptprogramm und Zugriff auf den Hub? – Bob5421