2016-06-14 7 views
0

Angenommen, ich habe tausend Hardwaregeräte (etwa 20.000), die die Daten in Echtzeit senden. Ich muss diese Daten erfassen und alle Daten zur Datenbank senden und auch Informationen in der Anwendung zeigen. Dafür denke ich, um einen WCF-Dienst zu entwickeln, der alle Geräte abfragt und die Daten von den Geräten holt und in der Datenbank speichert.Wie viel WCF ist effizient, um Echtzeitdaten zu erhalten?

Also meine Frage ist: „Ist WCF effizient, dies zu tun oder sollte ich einen anderen Ansatz folgen“

+1

Laufen die 20.000 Geräte mit Windows? –

+0

nein, sie sind nicht mit Windows verbunden, sie sind von Ethernet verbunden – vikky

+0

@wikky - ich meine, sind sie das Windows-Betriebssystem ausgeführt? Oder können sie zumindest das .NET Framework ausführen? –

Antwort

1

Ich denke einen WCF-Dienst, die Umfrage alle Geräte

Ein WCF-Dienst zu entwickeln kann nicht "abfragen". Ein Consumer kann Poll, das heißt es kann einen Dienst immer und immer wieder aufrufen, jedoch gibt es kein Polling-Muster in WCF-Client-Kanal integriert. Daher muss jedes Abrufverhalten programmiert werden.

Also meine Frage ist: „Ist WCF effizient, dies zu tun oder ich sollte einen anderen Ansatz folgen“

Was ich vermute, dass Sie möchten, dass Ihre Geräte tatsächlich den Dienst aufrufen und Daten übergeben, so Was Sie tatsächlich fragen, ist Kann ein WCF-Dienst eine hohe Anzahl von Anrufen verarbeiten?, auf die die Antwort ja ist.

Um jedoch die beste Skalierbarkeit zu erhalten, sollten Sie einen pro-Anruf-Dienst bereitstellen, und zwar über netTcpBinding (im Grunde Sockets), die optimierte Codierung verwendet und ist daher eine höhere Leistung.

Dies wäre nur für einen Benutzer verfügbar, der den WCF-Clientstapel ausführt. Wenn WCF auf Ihren Geräten nicht verfügbar ist, ist die nächstbeste Option wahrscheinlich ein HTTP-Endpunkt über webHttpBinding, der die beste Interoperabilität bietet.

Können Sie bitte eine andere Technologie vorschlagen?

Nun, wenn Sie sind glücklich http auf Geräte, die Sie bei nancyfx für das Hosting Ihrer Service aussehen sollte - es ist ein wirklich schönes, leicht http Container für .net.

+0

Ja, Polling ist durch Codierung implementieren. Also nach Antwort WCF wäre die richtige Wahl? – vikky

+0

@vikky Es ist eine Wahl, die funktionieren würde. Ich weiß nicht, ob es * die * richtige Wahl ist .... –

+0

Vielen Dank für Ihre Antwort, können Sie bitte eine andere Technologie vorschlagen? – vikky