Je passe certaines chaînes codées Base64 via WCF, et je tente de les écrire dans un fichier. Cependant, malgré le fait que mon objet FileStream a une longueur supérieure à 0, mon fichier sur le disque reste vide.FileStream.Write pas écrire dans le fichier
FileStream fs = new FileStream(Config.Instance.SharedSettings.SaveDir + StudyInstance.StudyId + "\\tmp.ext", FileMode.Create);
EncodeBlock eb = new EncodeBlock();
while (eb.Part != eb.OfParts || eb.OfParts == 0)
{
eb.ToDecode = ps.StudyService.GetInstancePart(StudyInstance, s, eb.Part+ 1, Config.Instance.ClientSettings.AppData);
eb = Base64Encoder.Decode(eb);
fs.Write(eb.ToEncode, 0, eb.ToEncode.Length);
}
fs.Close();
longueur de eb.ToEncode
est toujours supérieure à 0, fs.Length
est toujours supérieur à 0, et pourtant mon fichier "tmp.ext"
est créé, mais reste vide. fs.CanWrite
est toujours aussi vrai.
Comment sont vérifications que le fichier est vide? –
Cela peut sembler être une évidence, mais avez-vous débogué le code pour vous assurer que vous entrez dans votre bloc WHILE? –
C'était une évidence. La solution finale était pour moi de regarder le fichier '' tmp.ext "' du bon répertoire ... ne demandez pas, ça fait un de ces jours, mais merci à tous pour votre aide! –