Разбейте ваш код немного больше:
var webRequest = WebRequest.Create("http://www.xkcd.com");
var webResponse = webRequest.GetResponse();
if (webResponse != null)
{
var responseStream = webResponse.GetResponseStream();
if (responseStream != null)
{
var streamReader = new StreamReader(responseStream);
var pageSource = streamReader.ReadToEnd();
}
}
Добавьте точку останова по адресу: if (webResponse != null)
и посмотрите на объект ответа.Если все выглядит хорошо, перейдите к: if (responseStream != null)
и посмотрите, что содержит поток.
Отладчик - ваш друг .Используйте его, чтобы увидеть, что на самом деле делает ваш код.