C# Google API WebRequest不工作

C# Google API WebRequest不工作,c#,google-api,httpwebrequest,webrequest,C#,Google Api,Httpwebrequest,Webrequest,我的请求无法正常工作。我有一个带搜索按钮的搜索框。用户可以在搜索框中输入地址,然后将该地址发送到谷歌的API。但出于某种原因,这是行不通的。有人知道为什么吗?我还将包括一个pic,说明调试时request的值 private void RequestResponseHandler(IAsyncResult asyncResult) { HttpWebResponse response = null; Stream responseStream = null; try

我的请求无法正常工作。我有一个带搜索按钮的搜索框。用户可以在搜索框中输入地址,然后将该地址发送到谷歌的API。但出于某种原因,这是行不通的。有人知道为什么吗?我还将包括一个pic,说明调试时
request
的值

private void RequestResponseHandler(IAsyncResult asyncResult)
{
    HttpWebResponse response = null;
    Stream responseStream = null;
    try
    {
        response = (HttpWebResponse)request.EndGetResponse(asyncResult);
        responseStream = response.GetResponseStream();
        var xdoc = XDocument.Load(responseStream);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

地理编码API返回JSON。例如:

但在这里,您试图将此JSON放入XML文档中:

var xdoc = XDocument.Load(responseStream);
我建议您改用JSON解析器。

现在您已经显示了实际的异常,在您工作的环境中(Silverlight?),您似乎没有访问跨域资源的权限:


因此,您将收到一个
安全错误。根据您使用的实际环境,可能有不同的方法来解决此问题。例如,在Silverlight中,您可能需要归档以进行跨域调用。在此文件中,您需要显式允许您需要向其发出HTTP请求的域(在您的情况下是
maps.googleapis.com
)。

是什么让您认为此请求有问题?你期望的结果是什么?你得到的实际结果是什么?另外,最好不要向公众公开API密钥。在调试
response
时,会出现这三个异常,然后它进入
RequestResponseHandler
并在
response=(HttpWebResponse)request.EndGetResponse(asyncResult)上中断。我也可以分享一张照片。这些例外是完全正常的。请参阅我的答案,了解您的代码的真正问题。您说它在“response=…”时中断。你是说它会出错?如果是,错误是什么?我添加了一张图片来显示它给出的异常。然后它进入catch子句,我可以在示例uri中将“json”更改为xml。但这并不能解决问题。我明白了,当你说它在
请求.EndGetResponse
行中断时,抛出的确切异常是什么?它是否输入了
catch
子句?我添加了另一张图片。。。它点击第一行,然后进入catch子句。因此它抛出“System.NotSupportedException”。请检查
catch
子句中的
ex
对象,这就是真正的异常所在?在第二个屏幕截图中,您已经检查了
asyncResult
变量,该变量对于调试此问题几乎不感兴趣。