.NET 4.x Подскажите способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд - C#
Формулировка задачи:
Добрый день хотел бы узнать если способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд, оптимальным было бы 5-10.
Сейчас использую вот такой способ:
Еще интересно узнать отчего зависит время отправки-получения запроса с сервера, иногда результаты я получаю через 5 секунд после нажатия кнопки, а иногда на это уходит все 15.
Листинг программы
- WebClient wc = new WebClient();
- Uri ui = new Uri("http://www.cbr.ru/scripts/XML_daily.asp");
- Stream stream = wc.OpenRead(ui);
- StreamReader streamReader = new StreamReader(stream,Encoding.GetEncoding(1251));
- string html = streamReader.ReadToEnd();
- string html1;
- string pattern = @"<Name>Китайских юаней</Name>
- <Value>(\d{1,}\,\d{2})";
- string pattern1 = @"<Name>Доллар США</Name>
- <Value>(\d{1,}\,\d{2})";
- Match match = Regex.Match(html, pattern);
- Match match1 = Regex.Match(html, pattern1);
- html = match.ToString().Replace(@"<Name>Китайских юаней</Name>
- <Value>", "");
- html1 = match1.ToString().Replace(@"<Name>Доллар США</Name>
- <Value>", "");
- tb_dollar.Text = html1;
- tb_yuan.Text = Convert.ToString(Convert.ToDouble(html)/10);
Решение задачи: «.NET 4.x Подскажите способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд»
textual
Листинг программы
- ValCurs valCurs;
- var request = HttpWebRequest.Create("http://www.cbr.ru/scripts/XML_daily.asp");
- using (var response = request.GetResponse()) {
- using (var sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1251))) {
- var ser = new XmlSerializer(typeof(ValCurs));
- valCurs = ser.Deserialize(sr) as ValCurs;
- }
- }
- Console.WriteLine("Date: {0}", valCurs.Date);
- Console.WriteLine("Name: {0}", valCurs.Name);
- foreach (var val in valCurs.Valutes) {
- Console.WriteLine("ID: {0,10}", val.ID);
- Console.WriteLine("Name: {0,10}", val.Name);
- Console.WriteLine("Char code: {0,10}", val.CharCode);
- Console.WriteLine("Num code: {0,10}", val.NumCode);
- Console.WriteLine("Nominal: {0,10}", val.Nominal);
- Console.WriteLine("Value: {0,10}", val.Value);
- Console.WriteLine();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д