Код отрабатывает в VS2010 и не отрабатывает в VS2008. В чём дело?

Christopher Robin
Дата: 27.01.2010 17:04:56
Здравствуйте. Имеется следующий код:

class Program
    {
        public static string GetHtmlPageText(Uri uri)
        {           
            string pageHTML = String.Empty;
            try
            {
                HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(uri);
                CookieContainer cont = new CookieContainer();
                webreq.CookieContainer = cont;
                HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();
                using (StreamReader answer = new StreamReader(webresp.GetResponseStream()))
                {
                    pageHTML = answer.ReadToEnd();
                }                
            }
            catch (WebException exc)
            {
                return "ERROR! Сетевая ошибка: " + exc.Message +
                                  "\nКод состояния: " + exc.Status;
            }
            catch (ProtocolViolationException exc)
            {
                return "ERROR! Ошибка протокола: " + exc.Message;
            }
            catch (UriFormatException exc)
            {
                return "ERROR! Ошибка формата URI: " + exc.Message;
            }
            catch (NotSupportedException exc)
            {
                return "ERROR! Неизвестный протокол: " + exc.Message;
            }
            catch (IOException exc)
            {
                return "ERROR! Ошибка I/0: " + exc.Message;
            }           
            return pageHTML;            
        }

        static void Main(string[] args)
        {
            Uri uri = new Uri("http://irr.ru");
            string str = GetHtmlPageText(uri);
            Console.WriteLine(str);
            Console.ReadKey();
        }
    }

В консольном приложении в режиме отладки из VS2010 Beta2 код возвращает хтмл-код страницы, как и ожидается, а вот из VS2008 возвращается исключение "Слишком много попыток автоматического перенаправления". Тоже самое если запускать скомпиллированные экзешники, созданные в данных версиях студии. Проверьте, пожалуйста, у кого есть возможность на обеих студиях. В чём может быть дело?
Christopher Robin
Дата: 27.01.2010 18:23:47
Если в VS2010 компиллирую, например, для Framework 3.5, то также возникает исключение, если под 4.0, то всё ок.
Christopher Robin
Дата: 27.01.2010 18:43:10
есть ли какой-то способ заставить приложение, написанное под версию 3.5, использовать длл скомпиленную под 4.0?
Ops_too
Дата: 27.01.2010 18:56:43
Christopher Robin,
У меня номально работает VS2008.Еcли вы имели ввиду конкретно этот uri то там идет перенаправление на Host: login.pronto.ru и сервер пытается установить ssl\tls соединение.
Christopher Robin
Дата: 27.01.2010 19:00:25
Ops_too
Christopher Robin,
У меня номально работает VS2008.Еcли вы имели ввиду конкретно этот uri то там идет перенаправление на Host: login.pronto.ru и сервер пытается установить ssl\tls соединение.



у меня тоже идёт перенапрвление...но если в VS2010 скомпиллить по 4.0, то всё отлично отрабатывает и код страницы я получаю...


каким образом этого добиться в версии 3.5 или каким образом обойти этот редирект?
Ops_too
Дата: 27.01.2010 19:16:56
Christopher Robin,
Если виста или W 7 то можно попробывать выставить атрибут
[WebPermission(SecurityAction.Assert, ConnectPattern =
                               @"http://irr.ru")]

Возможно туплю
Ops_too
Дата: 27.01.2010 19:23:05
работает.
//webreq.MaximumAutomaticRedirections = 20;
  webreq.AllowAutoRedirect = false;