2009-02-18 8 views
13

Ich verwende grundlegende HTTP-Bindung.WCF-Bindungsleistung

Weiß jemand, was die beste Bindung in Bezug auf die Leistung ist, das ist das Schlüsselproblem für unsere Website?

+1

Können Sie ein wenig mehr Informationen über Ihre Plattform geben? Welche Art von Clients verbindet sich mit Ihren Webdiensten und welche Sicherheitsanforderungen bestehen? –

+0

Werfen Sie einen Blick auf [this] (http://blog.shutupandcode.net/?p=1085) –

Antwort

16

Hängt davon ab, wo sich die Dienste befinden.

Wenn sie sich auf demselben Computer befinden, sollte NetNamedPipeBinding Ihnen die maximale Leistung bieten.

Andernfalls werden Sie wählen müssen, je nachdem, wo sie sich befinden, wenn sie über das Internet, interopability usw.

Soledad Pano's blog kommunizieren hat einen guten Ablaufdiagramm mit der Auswahl der geeigneten Bindungen je nach Situation zu helfen

+0

+1 für den Link. Vielen Dank –

6

Dies vergleicht Äpfel mit Orangen. Wenn Sie die grundlegende HTTP-Bindung verwenden, dann gibt es einen grundlegenden Satz von Diensten und was nicht, die es bereitstellt, die sich von den Diensten unterscheidet, die zum Beispiel die WsHttpBinding bietet.

Angesichts der Tatsache, dass die Leistungsmetriken werden anders sein, aber Sie werden auch nicht die gleiche Funktionalität erhalten, und wenn Sie diese bestimmte Reihe von Funktionen benötigen, dann ist der Vergleich nicht wert, überhaupt zu tun.

Darüber hinaus gibt es Bindungen (wie die Net-TCP- und Named-Pipe-Bindungen), die möglicherweise gar nicht anwendbar sind, aber bessere Leistungsmerkmale haben.

Schließlich sagt Ihre Aussage über "beste Leistung" aus, dass Sie wirklich nicht den richtigen Weg sehen. Sie haben Erwartungen, was Ihre Last während der Spitzenzeiten und zu Spitzenzeiten ist, sowie die Reaktionszeiten, die für Ihr Produkt akzeptabel sind. Sie müssen feststellen, ob WCF in diese Parameter fällt, und dann von dort arbeiten, nicht nur sagen "Ich bin auf der Suche nach der besten Leistung".

Sie müssen mehr Anforderungen für das, was Sie zu tun versuchen, geben, und dann kann mehr Licht darauf geworfen werden.

0

Es ist schwer zu sagen, was die Leistung ohne andere bekannte Faktoren (Server-HW, Anzahl der gleichzeitigen Benutzer usw.) sein wird.

HTTP-Bindung wird etwas besser als HTTPS zum Beispiel, aber binäre WCF zu WCF-Kommunikation wird schneller sein als HTTP für den Preis der geringeren Kompatibilität.

Ich denke, Sie müssen mehr Details zur Verfügung stellen - was ist die gewünschte Funktionalität (benötigen Sie SOAP-Nachrichtenaustausch oder Ajax mit JSON?) Und erwartete Serverlast.