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.
Laufen die 20.000 Geräte mit Windows? –
nein, sie sind nicht mit Windows verbunden, sie sind von Ethernet verbunden – vikky
@wikky - ich meine, sind sie das Windows-Betriebssystem ausgeführt? Oder können sie zumindest das .NET Framework ausführen? –