Ich habe zwei WCF-Apps, die über benannte Pipes in eine Richtung kommunizieren. Alles ist nett, bis auf eine Sache: Normalerweise dauert der Anfrage/Antwort-Zyklus Null (marginale) Zeit. Wenn es jedoch eine Zeitspanne von etwa einer halben Minute ohne Kommunikation gibt, erhöht sich die Anfrage/Antwort auf ~ 300-500 ms.NetNamedPipe: unterschiedliche Antwortzeit bei Kommunikation im Leerlauf
Ich schaute mich im Internet um und ich kam auf die Idee, einen Herzschlag/Ping-Mechanismus zu verwenden, um den Kommunikationskanal beschäftigt zu halten. Bei Versuch und Irrtum habe ich festgestellt, dass bei einer Anfrage alle 10 Sekunden die Antwortzeiten niedrig bleiben. Beginnend in Intervallen von etwa 15 Sekunden beginnen die "Hiccup" -Reaktionszeiten zu erscheinen.
Jetzt frage ich mich, woher dieses Phänomen stammt. Ich habe versucht, alle möglichen Timeouts auf beiden Seiten auf> 1 Minute einzustellen, aber das hat nicht geholfen.
Kann mir jemand erklären, was dort vor sich geht?
Ich habe das gleiche Problem. Zuerst hatte ich den Verdacht, zwischengespeichert zu werden, aber neue Daten werden sofort zurückgegeben, wenn sie innerhalb von 15 Sekunden nach einem vorherigen Anruf beim Dienst angefordert werden. –