Je constate un problème de fuite de mémoire avec la classe BinaryFormatter dans l'infrastructure .Net 3.5. J'utilise la méthode suivante pour désérialiser un objet. La taille du tableau d'octets transmis à cette méthode est de 156 Mo. Cependant, il y a un saut de 2,6 Go après avoir appelé cette méthode.Problème de fuite de mémoire avec la classe BinaryFormatter dans .Net 3.5
J'ai trouvé cet article sur MSDN qui parle de ce problème de fuite de mémoire. http://blogs.msdn.com/b/psirr/archive/2009/11/13/interesting-memory-leak-in-net-3-5-binary-deserialization.aspx
Est-ce que quelqu'un sait s'il existe une solution à ce problème? Est-il résolu dans .Net 4.0?
public static Message DeserializeContent(byte[] content)
{
var formatter = new BinaryFormatter();
Message message;
using (var stream = new MemoryStream(content))
{
message = (Message) formatter.Deserialize(stream);
stream.Close();
}
return message;
}