C# HttpClient HttpRequestException

C# HttpClient HttpRequestException,c#,httpclient,C#,Httpclient,我在HttpClient中遇到问题,我不断收到mscorlib.dll中发生的HttpRequestException。我已经从SVN下载了以前的工作版本,我一直得到相同的异常 为什么我会突然遇到这个异常,即使我运行的代码已经运行了好几个星期了 现在我正试图用这个简单的代码进行调试,但无论我做什么,都会得到相同的异常 HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Accept .Add(new Sys

我在
HttpClient
中遇到问题,我不断收到mscorlib.dll中发生的
HttpRequestException。我已经从SVN下载了以前的工作版本,我一直得到相同的异常

为什么我会突然遇到这个异常,即使我运行的代码已经运行了好几个星期了

现在我正试图用这个简单的代码进行调试,但无论我做什么,都会得到相同的异常

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept
    .Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue(
              "application/json"));
HttpResponseMessage response
    = await client.GetAsync("http://api.themoviedb.org/3/movie/550?api_key=x");
return await response.Content.ReadAsStringAsync();
我的例外情况如下:

The remote name could not be resolved: 
    api.themoviedb.org System.Exception System.Net.WebException
我尝试的每个url都会得到相同的结果,它们都在我的浏览器中工作。 以下是异常和堆栈跟踪:

res "System.Net.Http.HttpRequestException: An error occurred while sending the request. 
---> System.Net.WebException: The remote name could not be resolved: 'api.themoviedb.org'
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotificat‌​ion(Task task)

这是您网络上的DNS问题。您的工作站(或收到错误的服务器)无法解析DNS名称“api.themoviedb.org”。此DNS名称可以从我的计算机和中很好地解析

请与您的本地网络管理员联系

更新

因此,您的计算机可以解析名称,但HttpClient不能。让我们看看能否解决这个问题。我将假设这是一个桌面应用程序,而不是一个网站。如果我错了,让我知道——还有一些额外的考虑

您必须按照以下指南启用网络跟踪:。您希望按照该链接中的指定配置App.config文件。简而言之,您应该在配置文件中添加如下内容:

<configuration>
    <system.diagnostics>
        <sources>
            <source name="System.Net" tracemode="includehex" maxdatasize="1024">
                <listeners>
                    <add name="System.Net"/>
                </listeners>
            </source>
        </sources>
        <switches>
            <add name="System.Net" value="Verbose"/>
        </switches>
        <sharedListeners>
            <add name="System.Net"
                type="System.Diagnostics.TextWriterTraceListener"
                initializeData="network.log" />
        </sharedListeners>
        <trace autoflush="true"/>
    </system.diagnostics>
</configuration>


有关如何解释该文件的提示,尽管信息很少。我们正在寻找的是DNS无法解析的原因。因此,在该文件中搜索“api.themoviedb.org”。如果您愿意,请使用结果更新问题,我将看看是否可以帮助您解决问题。

完全异常错误是什么?您使用的是代理服务器吗?我正在对web服务进行数千次调用。调用之间唯一的变化是查询字符串参数,所有这些参数都经过正确编码。我时不时地会听到你问的错误。我还不能确定原因。如果是配置问题,代码不应该工作,但在99%以上的情况下确实工作。打开命令提示符,运行命令“ping api.themoviedb.org”。它会解析为IP地址吗?那没关系。重要的部分是名称解析为IP。由于某些原因,你的应用程序没有做同样的事情。这是错误消息的相关部分:“无法解析远程名称:'api.themoviedb.org'”。因此,由于某些原因,HttpClient没有解析DNS名称。要跟踪此问题,您必须启用System.Net跟踪。有关详细信息,请参阅此链接:这是一个windows 8 metro应用程序。我试图将它添加到清单中,但无论我在哪里放置它,都会得到无效的子元素。建议?