3 Stimmen

Welche Art von Leck kann Instanz Leck von TimeBoundedCache.ExpirableItem in WCF verursachen?

Ich habe ein Profil meiner WCF-Anwendung mit dem .NET Memory Profiler erstellt und festgestellt, dass es ein Instanzleck der Typen TimeBoundedCache.ExpirableItem und Byte[]:

enter image description here

Der Vergleich wurde anhand von zwei Schnappschüssen im Abstand von einer Stunde durchgeführt, und Vergleiche zu verschiedenen Zeiten zeigen auch die konstant steigende Anzahl der beiden Typen. Abgesehen von diesen beiden Typen gibt es kein offensichtliches Leck.

Der Zuweisungsstapel sieht wie folgt aus: enter image description here

Weiß jemand, was die Ursache dafür sein könnte?

0voto

Drew Marsh Punkte 32833

Dieser wird von verschiedenen Security Token Cache-Implementierungen innerhalb des WCF Security Stacks verwendet. Ich nehme an, dass Ihr Client mit der Option CacheIssuedTokens Funktion?

Dieser Cache wird routinemäßig von einem Bereinigungsprozess bereinigt, der in einem Hintergrund-Thread läuft, so dass Sie sich keine Sorgen machen müssen, dass er für immer verloren geht. Sie müssen sich jedoch darüber im Klaren sein, dass, wenn Sie mehrere Clients in Ihrem Prozess haben, die alle ihre eigenen Sicherheits-Tokens haben, sich diese mit der Zeit ansammeln werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X