WCF-NetTCP Binding Über das Internet
Ich habe eine Frage. Ich möchte dienen eine Reihe von services mit WCF. Der Kunde konsumiert die Dienste auch .NET mit WCF. Ich würde gerne haben high-speed-Zugriff, schnelle Reaktion, - transport-Mittel, um kleine Daten-Verträge (primäre .net-basic-Datentypen). Die Verteilung wird über das internet, Im suchen für die Zuverlässigkeit, Verfügbarkeit und Grundsicherung.
Möchte ich nicht verwenden WsHttp, weil meine nur client-basiert .net und ich haben fast 150 Kunden der Beantragung der Leistungen.
Was empfehlen Sie verwenden für die Bindung? Gibt es irgendwelche Nachteile, Risiken etc?
Vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie planen, zu verwenden, einfache Typen und kleine Daten-Verträge, die Bindung, die Sie verwenden, ist fast irrelevant im Vergleich zu der Latenz eingeführt, indem Sie über das Internet. Also, die richtige Antwort ist verwenden Sie die eine, die am einfachsten zu verwalten und die sichere.
Empfehle ich, dass Sie Gastgeber der app im IIS und verwenden Sie eine wsHttpBinding, und nehmen Sie die Verwaltbarkeit Güte, die zusammen mit ihm geht. Es wird auch passieren, kompatibel sein, und während das ist heute irrelevant, es ist nur frei, also warum nicht?
- Und, bitte beachten Sie die Granularität der service. Sie kennen Ihre Kunden besser, aber auf der weiten, offenen Internet, geschieht Zeug. Da die round-trip-Zeit über das Internet, ist variabel und nicht zu kontrollieren, es könnte in Millisekunden oder Sekunden, oder Sie kann nicht bekommen es überhaupt. So sollten Sie nehmen weniger Fahrten mit größeren Nutzlasten, wenn möglich, und verwenden Sie alle Arten von caching und asynchrone Operationen, um die app erscheinen, die "schnell".
Gibt es einen guten Artikel auf der Wahl einer Bindung von Juval LÖWY hier:
http://www.code-magazine.com/article.aspx?quickid=0605051&page=3
In der Regel der Rat ist, nicht zu verwenden net tcp-Bindung über das internet. Habe nicht gehört, dass jemand, es zu tun. Obwohl es kann funktionieren, wenn die ports offen sind, alle Weg, und niemand blockiert die Aufrufe.
Testen Sie es mit nettcp, wenn es nicht funktioniert, die Sie gerade benötigen, um die Konfiguration zu ändern.
Das wichtigste ist, zu prüfen, Ihre Sicherheit braucht. Sie müssen nur Punkt-zu-Punkt, dann basichttp über ssl. Sie müssen von Ende zu Ende, dann wshttp mit message-Verschlüsselung.
Nach Ihrem Szenario, NetTcpBinding, ist die Bindung der Wahl. So sind Sie sicher, dass client WCF, keine Notwendigkeit für Interoperabilität.
Haben Sie einen Blick hier in programming WCF Services buchen.
Die einzige Sache, die ich bin mir nicht sicher über firewalls. Wenn Sie haben, um Trog auf Thesen, vielleicht einige WS-Bindung könnte besser geeignet sein.