c# - 可以在控制台应用程序中访问 API,但不能访问 ASP.Net MVC 应用程序
问题描述
我编写了一些 C# 代码来访问 Google 距离矩阵 API。最初,我将代码放入 Visual Studio 2019 中的控制台应用程序中。我的代码如下。
string url = "https://maps.googleapis.com/maps/api/distancematrix/xml?origins=newyork&destinations=boston&key=MyKey";
Uri myUri = new Uri(url, UriKind.Absolute);
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myUri);
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader sreader = new StreamReader(dataStream);
string responsereader = sreader.ReadToEnd();
response.Close();
DataSet ds = new DataSet();
ds.ReadXml(new XmlTextReader(new StringReader(responsereader)));
if (ds.Tables.Count > 0)
{
if (ds.Tables["element"].Rows[0]["status"].ToString() == "OK")
{
Console.WriteLine("Duration: " + ds.Tables["duration"].Rows[0]["text"].ToString());
Console.WriteLine("Distance: " + ds.Tables["distance"].Rows[0]["text"].ToString());
}
}
此代码与 API 一起按预期工作。然后,我将代码复制到一个 ASP.Net MVC 应用程序中。但是,当我运行 MVC 应用程序时,我在线收到错误消息:
WebResponse response = request.GetResponse();
有人可以帮忙解决吗?
谢谢你。
解决方案
推荐阅读
- javascript - 为什么这个 javascript 代码返回 3 作为计数器值?
- python - 二进制浮点数据
- azure - 使用 Terraform。azurerm_autoscale_setting 或 azurerm_monitor_autoscale_setting 是否具有内存指标
- python - 如何配置我的 Django 视图类以将文件上传到某个文件夹?
- c# - 调用 SOAP WebService 时出现 FileNotFound 异常
- python - 如何使用 dsolve() 求解同时包含 f(x) 和 x 的 ODE
- php - 如何使用 PHP 推送数组的第一个元素、反转数组和推送反转数组?
- firebase - 在 Firebase 中找不到对象类型作为添加字段选项
- django - Django rest框架在大型模型上放慢
- jquery - Wagtail / CodeRedCMS:未定义 jQuery ReferenceError $,无法确定原因