.NET 4.x Подскажите способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день хотел бы узнать если способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд, оптимальным было бы 5-10. Сейчас использую вот такой способ:
Листинг программы
  1. WebClient wc = new WebClient();
  2. Uri ui = new Uri("http://www.cbr.ru/scripts/XML_daily.asp");
  3. Stream stream = wc.OpenRead(ui);
  4. StreamReader streamReader = new StreamReader(stream,Encoding.GetEncoding(1251));
  5. string html = streamReader.ReadToEnd();
  6. string html1;
  7. string pattern = @"<Name>Китайских юаней</Name>
  8. <Value>(\d{1,}\,\d{2})";
  9. string pattern1 = @"<Name>Доллар США</Name>
  10. <Value>(\d{1,}\,\d{2})";
  11. Match match = Regex.Match(html, pattern);
  12. Match match1 = Regex.Match(html, pattern1);
  13. html = match.ToString().Replace(@"<Name>Китайских юаней</Name>
  14. <Value>", "");
  15. html1 = match1.ToString().Replace(@"<Name>Доллар США</Name>
  16. <Value>", "");
  17. tb_dollar.Text = html1;
  18. tb_yuan.Text = Convert.ToString(Convert.ToDouble(html)/10);
Еще интересно узнать отчего зависит время отправки-получения запроса с сервера, иногда результаты я получаю через 5 секунд после нажатия кнопки, а иногда на это уходит все 15.

Решение задачи: «.NET 4.x Подскажите способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд»

textual
Листинг программы
  1. ValCurs valCurs;
  2. var request = HttpWebRequest.Create("http://www.cbr.ru/scripts/XML_daily.asp");
  3. using (var response = request.GetResponse()) {
  4.     using (var sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1251))) {
  5.         var ser = new XmlSerializer(typeof(ValCurs));
  6.         valCurs = ser.Deserialize(sr) as ValCurs;
  7.     }
  8. }
  9. Console.WriteLine("Date: {0}", valCurs.Date);
  10. Console.WriteLine("Name: {0}", valCurs.Name);
  11. foreach (var val in valCurs.Valutes) {
  12.     Console.WriteLine("ID: {0,10}", val.ID);
  13.     Console.WriteLine("Name: {0,10}", val.Name);
  14.     Console.WriteLine("Char code: {0,10}", val.CharCode);
  15.     Console.WriteLine("Num code: {0,10}", val.NumCode);
  16.     Console.WriteLine("Nominal: {0,10}", val.Nominal);
  17.     Console.WriteLine("Value: {0,10}", val.Value);
  18.     Console.WriteLine();
  19. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы