Laden...

SOAP Service Performance Problem

Erstellt von jros vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.206 Views
J
jros Themenstarter:in
39 Beiträge seit 2008
vor 13 Jahren
SOAP Service Performance Problem

Hallo zusammen,

wir haben im Betrieb einen Service laufen der Bilder(Maps) generiert(ca. 100-300kb) und uns diese zurück schickt. Dieser Service wurde nicht von uns entwickelt und wird bisher über ein Delphi Client angesteuert, was auch sehr gut funktioniert. Dieser Client soll in .NET neu entwickelt werden. Dazu habe ich habe eine "Service Reference" über WSDL hinzugefügt und VS hat mir alle benötigten Klassen zum ansprechen des Services generiert. Hat alles wunderbar funktioniert und ich bekomme auch eine Antwort vom Service, allerdings dauert eine Anfrage ca. 20x länger als beim Delphi Client. Ich glaueb nicht das es am Netzwerk-Verkehr liegt, denn wenn ich diesen überwache kommt eine Antwort relativ schnell zurück. Ich vermute das Problem bei der Deserialiserung des Antwort-Objektes, weches das Bild als Byte Array sowie einige Zusatzdaten enthält. Hat jemand Erfahrung mit diesem Problem und weiß, ob es möglich ist, die Performance zu erhöhen oder die Deserialisierung irgendwie zu umgehen, so dass ich nur den reinen XML-String bekomme?

Wer zuletzt lacht, denkt zu langsam

2.298 Beiträge seit 2010
vor 13 Jahren

Wenn der Delphi Client die Anfrage um einiges Schneller durchführen kann, als der .NET Client, liegt es weniger am Webservice. Ich schätze eher, dass es irgendwo im .NET Client hakt.

Machst du nach der Webserviceantwort noch irgend welche anderen Dinge die eventuell ausbremsen?

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

J
jros Themenstarter:in
39 Beiträge seit 2008
vor 13 Jahren

wie gesagt, ich glaube auch nicht dass es am Service liegt, da die Antworten relativ schnell kommen. Es sieht so aus als liege es an der xml Deserialisierung, allerdings habe ich noch keinen Weg gefunden diese zu beschleunigen bzw. zu umgehen.

Wer zuletzt lacht, denkt zu langsam

2.760 Beiträge seit 2006
vor 13 Jahren

Weg gefunden diese zu beschleunigen bzw. zu umgehen

Kannst es ja mal mit dem HttpWebRequest versuchen. Ich denke die Binärdaten kommen Base64 Codiert und wenn die Hauptaufgabe des WS das Ausliefern der Bilder ist sollte mit dem WebRequest nicht allzuviel code nötig sein.

Siehe z.B.: WebClient mit HTTP-POST- und Cookie-Unterstützung

J
jros Themenstarter:in
39 Beiträge seit 2008
vor 13 Jahren

Habe es nun mit dem WebRequest gebaut, ist zwar einiges mehr an Aufwand, läuft nun aber sehr viel schneller.

Danke für den Tip jaensen. 👍

Wer zuletzt lacht, denkt zu langsam