webBrowser не перемещается, даже если установлен DocumentStream? - PullRequest
0 голосов
/ 13 июля 2011

Я пытаюсь загрузить страницу в WebBrowser через responseStream, отправленный сервером. Я попытался установить его свойство DocumentStream, но браузер не перемещается. Это мой код:

private void btnFbConnect_Click(object sender, EventArgs e)
    {
        WebRequest request = WebRequest.Create("http://www.facebook.com");
        request.Method = "GET";
        WebResponse response = request.GetResponse();
        StreamReader rdr = new StreamReader(response.GetResponseStream());
        webBrowser1.DocumentStream = rdr.BaseStream;// after this line, I'm expecting the browser to display the facebook login page.
        MessageBox.Show(rdr.ReadToEnd());
        rdr.Close();
        response.Close();
    }

Я пропускаю промежуточный шаг или что-то ??? Если нет, то что может заставить браузер не вызывать навигацию ???

1 Ответ

1 голос
/ 13 июля 2011

Не закрывайте поток, пока WebBrowser не получит к нему доступ.

WebRequest request = WebRequest.Create("http://www.facebook.com");
request.Method = "GET";
WebResponse response = request.GetResponse();
StreamReader rdr = new StreamReader(response.GetResponseStream());
webBrowser1.DocumentStream = rdr.BaseStream;// after this line, I'm expecting the browser to display the facebook login page.
MessageBox.Show(rdr.ReadToEnd());
//rdr.Close();
//response.Close();

Кроме того, вы можете столкнуться с ошибкой, поскольку ресурсы относительного пути на сервере не могут быть разрешены. Итак, я рекомендую вам использовать:

webBrowser1.Navigate("http://www.facebook.com");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...