即使设置了DocumentStream,webBrowser也不会导航?

时间:2011-07-12 20:37:51

标签: c# .net browser

我正在尝试在服务器发送的WebBrowser thorugh 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 个答案:

答案 0 :(得分:1)

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");