Il s'agit d'un code hérité qui échoue parfois, mais je n'arrive pas à comprendre pourquoi.SerializationException: Fin de flux rencontrée avant la fin de l'analyse
using(NetworkStream stream = client.GetStream()) {
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, message_);
if(responseHandler_ != null) {
Message response = (Message) formatter.Deserialize(stream); // <-- fails here
responseHandler_(response, stream);
}
}
Je l'ai googlé à mort. J'ai essayé de chercher des suggestions mais NetworkStream ne peut pas chercher.
Éditer: Il n'échoue pas toujours. Seulement à l'occasion. Toute aide grandement appréciée.
Avant de désérialiser, réglez la position sur 0 'formatter.Position = 0;' –
@MXD tous les flux ne prennent pas en charge cette fonction. – Kamo