2013-12-19 7 views
7

Ich suche viel über Umfragetechnik, aber ich kann nichts darüber finden, wie man diese Technik in asp.net mvc anwendet. Es gibt so viele Artikel und Dokumentationen, aber die meisten von ihnen über PHP und AJAX.Wie kann ich lange Abfragetechnik in ASP.NET MVC anwenden?

Ich möchte diese Technik mit meinem Projekt an zwei Orten verwenden, eine ist das Tweet-System wie Twitter und andere ist Chat-System. Ich bin gespannt, was der beste Weg ist, diese Technik in MVC anzuwenden? Muss ich SignalR benutzen? Ist das die beste Option?

Wenn Sie mir einige Probe oder Dokumentation geben können, wäre es toll, danke!

+1

[SignalR Dokumentation] (https: //github.com/SignalR/SignalR/wiki). –

+0

Es gibt eine ähnliche Frage [hier] (http://stackoverflow.com/q/13905176/575530), aber während keine der aktuellen Antworten den Code zur Verfügung stellen, den Sie wollen, erklären sie, wie schwierig lange Abfragen sind, um richtig zu werden (zB [ Diese Antwort] (http://stackoverflow.com/a/13915384/575530) behandelt Probleme mit IIS-Einstellungen und Probleme beim Lastenausgleich, während [diese Antwort] (http://stackoverflow.com/a/13911164/575530) feststellt, wie lange Polling kann zu kurzen Polling oder sogar zu einem selbst auferlegten Denial-of-Service-Angriff degenerieren!) – dumbledad

Antwort

9

SignalR ist definitiv der Weg zu gehen, wenn Sie Daten vom Server auf den Client übertragen möchten. Ich habe versucht, dies einmal mit einer weniger gut unterstützten und entwickelten Bibliothek zu tun, und ich habe es zum Laufen gebracht, aber von dem, was ich von den SignalR-Beispielen gesehen habe, ist es viel einfacher als das, was ich gemacht habe. Starten Sie das Lesen der Dokumentation und Beispielcode auf asp.net es ist relativ einfach.

Hier ist ein Artikel auf , die Ihnen zeigt, wie wenig Code Sie benötigen, um einen Server zu Client Push zu erreichen.

http://www.codeproject.com/Articles/524066/SignalR-Simple-Chat-Application-in-Csharp

Dies liegt daran, alle schweres Heben für Kommunikationsaufbau durch SignalR API auf dem Server in .NET und auf dem Client in JavaScript ausgeführt wird.

+3

Sie könnten Ihre Antwort verbessern, indem Sie die Links hinzufügen. Vielleicht könnten Sie auch etwas darüber sagen, warum es der richtige Weg ist. – Silvermind

4

Was die "beste" Lösung ist, steht zur Debatte, und in diesem Forum geht es nicht darum.

Wenn Sie wirklich Peer-to-Peer-Kommunikation machen wollen, dann tut SignalR das nicht - es dient dazu, Daten von einem Server zu einem Client zu übertragen und Remoteprozeduraufrufe (RPCs) von Server zum Client.

Wenn Sie wollen, ist n-Wege-Kommunikation über einen Server als zentraler Hub, dann SignalR ist sicherlich der Weg zu gehen. Es ist bewährte Technologie und hat die volle Unterstützung von Microsoft.

Microsoft hat ein Tutorial zum Arbeiten mit SignalR 2.0 (http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-getting-started-with-signalr-20) veröffentlicht, das eine Chat-Anwendung implementiert.

2

Wenn Sie SignalR für die ereignisbasierte Kommunikation einfach verwenden möchten, können Sie sich meine Bibliothek ansehen, die auf SignalR aufgebaut ist.

Sie können hier sehen, wie es zur Einrichtung

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki

Sie können auch die Demo herunterladen um es zu testen und lernen auf diese Weise

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/tree/master/SignalR.EventAggregatorProxy.Demo.MVC4