Webrequest.GetResponse () работает на компьютере разработчика, а не на клиентских машинах - PullRequest
1 голос
/ 30 ноября 2010

Я попытался с помощью WebRequest.GetResponse () на моем компьютере для разработки (XP), и он работает правильно, и я могу прочитать поток ответов из URL, но скомпилированный код не работает на двух клиентских компьютерах (Windows 7), когда URL являетсяидентичны.WebException.Status: «Сетевой запрос не поддерживается».Почему это происходит при попытке получить доступ к одному и тому же URL?Исключение WebException вызывается методом GetResponse.В предложении catch объекты ответа и объекты WebException.Response имеют значение null.Что я могу сделать для дальнейшей диагностики проблемы?

WebRequest request = null;
HttpWebResponse response = null;
Stream dataStream = null;
StreamReader reader = null;
String responseFromServer = string.Empty;
string http = string.Empty;
int timeOut = 30000;
string errorMsg = string.Empty;
http = this.URLstring;
bool error = false;

try
{
    request = System.Net.WebRequest.Create(http);
    request.Timeout = timeOut;
    response = (System.Net.HttpWebResponse)request.GetResponse();
}
catch (System.Net.WebException wex)
{
    error = true;
    errorMsg = wex.Message + " " + wex.Status.ToString();

    if (wex.Response != null)
    {
        WebHeaderCollection hdrs = wex.Response.Headers;

        for (int i = 0; i < hdrs.Count; i++)
            errorMsg += Environment.NewLine + hdrs.Keys[i] + ", " + hdrs[i];
    }
}

// Code to read the response stream goes here. it works on development machine.

1 Ответ

2 голосов
/ 30 ноября 2010

Это может быть вопросом привилегий. Чтобы проверить это, запустите приложение под Win7 «Как администратор»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...