Неполный ответ от сервера. Возможно ли? - C#
Формулировка задачи:
Доброго времени суток форумчанам.
У меня возникла такая странная ситуация:
Есть программа, которая сохраняет файл с web-сервиса.
Если ручками запускать - всё работает без нареканий. Но если поставить отложенный запуск (ночной), то по утру в файле оказывается всего одна строка (обычно 20-30). Я первый раз работаю с WebRequest'om, да и вообще эту web-кухню плохо понимаю, потому не пойму, в чём может быть проблема? Сталкивался ли кто с подобным? Могу ли я поток файла получить "не до конца" и раньше времени корректно закрыться и записать не полный файл? Или подобное поведение означает что сервис отдаёт однострочный файл и никак иначе?
try { response = GetRequestStream(); if (response == null) { LogManager.WriteMessage("Не получен ответ от сайта. Получение данных не возможно."); return; } Stream s = response.GetResponseStream(); if (s == null) { LogManager.WriteMessage("Не получен поток файла от сайта. Получение данных не возможно."); return; } sr = new StreamReader(s); string totalStr = sr.ReadToEnd(); if (string.IsNullOrWhiteSpace(totalStr)) LogManager.WriteMessage("В полученом файле не найдено значимых данных. Запись файла не производилась."); m_manager.RemoveFile(); sw = new StreamWriter(m_manager.GetFileName()); sw.Write(totalStr); if (ReadRatings(totalStr, currencies)) LogManager.WriteMessage("Статистика с сайта считана и сохранена/обновлена"); else LogManager.WriteMessage("В файле не найдено данных для записи"); }
Решение задачи: «Неполный ответ от сервера. Возможно ли?»
textual
Листинг программы
public string GetFileName(FileType fType) { switch (fType) { case FileType.First: return string.Concat(m_dataFolder, "", DateTime.Now.ToString("yyyy_MM_dd"), "_FirstSite.xml"); case FileType.Second: return string.Concat(m_logFolder, "", DateTime.Now.ToString("yyyy_MM_dd"), "_Log.txt"); case FileType.Third: return string.Concat(m_dataFolder, "", DateTime.Now.ToString("yyyy_MM_dd"), "_SecondSite.csv"); default: return string.Empty; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д