3

我的应用程序像这样调用我的 api:

Debug.WriteLine ("Making an API request: " + action);
var request = HttpWebRequest.Create("http://domain.com/api/"+ action");
request.ContentType = "application/json";
request.Method = "GET";
string content = "d";

using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
    {
        content = reader.ReadToEnd();
    }
}

return content;

这已经完美运行了几个月。突然有一天,我的应用程序不再工作了。调试我发现请求要么超时要么抛出错误:

 (System.Net.WebException) Error getting response stream (ReadDone1): ReceiveFailure

这个错误是什么意思?为什么突然开始?自应用程序发布以来,此代码未更改。该请求在输入浏览器时可以完美运行。

4

3 回答 3

3

Adding www. to all the urls fixed the issue.

于 2013-07-13T04:53:14.247 回答
0

尝试使用HTTPWebRequest的代理设置,例如:

request.Proxy = WebRequest.DefaultWebProxy;
// request.Proxy = WebRequest.GetSystemWebProxy();
request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;

我有类似的异常(但是在下载图像时,不调用远程方法)并且它有所帮助。

于 2013-07-11T08:45:21.160 回答
0

此异常是由连接超时引起的。可能的原因是http://domain.com/api/ "+ 操作提供的服务不再可用、暂时不可用或您的 Internet 连接断开。

于 2013-07-04T04:09:08.697 回答