Неполный ответ от сервера. Возможно ли? - 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;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д