Warum hält Castle Windsor vorübergehende Objekte fest?

Kürzlich bemerkte ich, dass meine Anwendung Speicher zu essen scheint, der niemals freigegeben wird. Nach der Profilerstellung mit CLRProfiler habe ich festgestellt, dass der von mir verwendete Castle Windsor-Container Objekte festhält. Diese Objekte werden mit dem Attribut lifestyle = "transient" in der Konfigurations-XML deklariert.

Ich habe gefunden, wenn ich einen expliziten Anruf tätigeIWindsorContainer.Release(hangingObject), dass es seine Referenzen fallen lässt.

Dies ist jedoch problematisch. Ich hatte nicht erwartet, dass CastleWindsor bei einem vergänglichen Lifestyle-Objekt einen Verweis behalten und effektiv ein Leck erzeugen würde. Es wird eine ziemlich alltägliche und fehleranfällige Aufgabe sein, explizite Release-Aufrufe an allen entsprechenden Stellen einzufügen.

Haben Sie dieses Problem gesehen und haben Sie Vorschläge, wie Sie es umgehen können?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage