Je crois qu'il y a une fuite de mémoire avec le TypedFactoryInterceptor.Windsor TypedFactoryInterceptor Memory Leak
S'il vous plaît envisager le scénario suivant:
[Factory]
public interface IMyFactory
{
MySingleton GetInstance();
}
[Singleton]
public class MySingleton
{
}
[Singleton]
public class MyController
{
public MyController(IMyFactory factory)
{
// using a for loop to simulate repeated calls to the factory instance over
// a long time
for(int i = 0; i < 100000; i++)
{
var instance = factory.GetInstance();
}
}
}
Dans l'exemple ci-dessus, la TypedFactoryInterceptor contiendra une liste de 100000 WeakReferences, qui pointent tous à la même instance cible (de MySingleton). Ainsi, dans le scénario où un singleton dépend d'une fabrique pour créer des instances d'un autre singleton, vous pouvez vous retrouver avec des centaines de milliers de WeakReferences et donc une fuite de mémoire.
En faisant quelques regardant le code source, il semble que le problème est ici (en TypedFactoryInterceptor.Resolve):
Toute pensée?
Merci.
Y at-il une source d'information sur Windsor 3? Je n'arrive pas à en trouver sur google? – Jeff
quelles sortes d'informations? C'est toujours Windsor, vous l'utilisez à peu près de la même manière, la liste des changements est dans changelog, les changements de rupture sont listés dans breakingchanges.txt ... –
mais je vais devoir construire la source, non? il n'y a pas de version bêta officielle ou quoi que ce soit? – Jeff