


Zusammenfassung der .Net MVC-Implementierung langer Abfragebeispiele
Jun 17, 2017 am 10:30 AMDieser Artikel stellt hauptsächlich die relevanten Informationen von .Net MVC zur Implementierung von Long Polling vor. Er hat einen bestimmten Referenzwert.
Was ist Long Polling?
Long Polling ist eine Methode zur Implementierung der „Server Push“-Technologie, mit der Änderungen auf dem Server in Echtzeit an den Client übertragen werden können, ohne dass der Client häufig Aktualisierungen und Anfragen sendet.
Prinzip der langen Umfrage?
Der Client sendet eine Ajax-Anfrage an den Server. Nachdem der Server die Anfrage erhalten hat, behält er die Verbindung bei und gibt keine Antwortinformationen zurück und schließt die Verbindung Die entsprechende Verarbeitung ist abgeschlossen, nachdem der Client die Antwortinformationen erhalten hat. Führen Sie die entsprechende Verarbeitung durch und senden Sie nach Abschluss der Verarbeitung eine neue Anfrage an den Server.
Welche Anwendungsszenarien gibt es für Long Polling?
Lange Abfragen werden häufig in Szenarien wie Web-Instant Messaging, Überwachung und Echtzeit-Angebotssystemen verwendet, bei denen serverseitige Änderungen in Echtzeit an den Client gesendet werden müssen.
Was sind die Vor- und Nachteile einer langen Umfrage?
Vorteile: Häufige Anfragen werden nicht an den Server gesendet, wenn keine Nachricht vorliegt.
Nachteile: Es verbraucht mehr Ressourcen, um die Serververbindung aufrechtzuerhalten
Implementierung:
Front-End-Code:
Wir rufen an es noch einmal in der Callback-Funktion , um die nächste Anfrage zu starten, nachdem jede Anfrage geschlossen wurde.
<p id="container"></p> <script type="text/javascript"> $(function () { function longPolling() { $.getJSON("/DateTime/GetTime", function (json) { $("#container").append(json.date + "<br/>"); longPolling(); }); }; longPolling(); }); </script>
Backend-Code:
Unser Hintergrund-Controller muss asynchron verwenden, erbt die AsyncController-Basisklasse
public class DateTimeController : AsyncController { public void GetTimeAsync() { //计时器,5秒种触发一次Elapsed事件 System.Timers.Timer timer = new System.Timers.Timer(5000); //告诉.NET接下来将进行一个异步操作 AsyncManager.OutstandingOperations.Increment(); //订阅计时器的Elapsed事件 timer.Elapsed += (sender, e) => { //保存将要传递给GetTimeCompleted的参数 AsyncManager.Parameters["nowdate"] = e.SignalTime; //告诉ASP.NET异步操作已完成,进行GetTimeCompleted方法的调用 AsyncManager.OutstandingOperations.Decrement(); }; //启动计时器 timer.Start(); } public ActionResult GetTimeCompleted(DateTime nowdate) { return Json(new { date = nowdate.ToString("HH:mm:ss") + " Welecom " }, JsonRequestBehavior.AllowGet); } }
Das obige ist der detaillierte Inhalt vonZusammenfassung der .Net MVC-Implementierung langer Abfragebeispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen?

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen

PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge

Implementierungshandbuch für PHP-Spielanforderungen

Meistern Sie, wie Golang Möglichkeiten für die Spieleentwicklung eröffnet

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks

Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen

So implementieren Sie eine exakte Divisionsoperation in Golang
