【发布时间】:2014-11-14 20:51:09
【问题描述】:
我有这样的代码:
public async Task<string> getToken()
{
string uri = "http://localhost/api/getToken";
HttpClient client = new HttpClient();
//client.BaseAddress = new Uri(uri);
string token = "asfd";
string baseId = "asfasdf";
string appVersion = "afsadf";
string content = "";
HttpResponseMessage response = null;
try
{
string url = string.Format("{0}?token='{1}'&baseId='{2}'&appVersion='{3}'", uri, token, baseId, appVersion);
//client.BaseAddress = new Uri(url);
response = await client.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode();
content = await response.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
}
return content;
}
当我到达行时调用 GetAsync 时,VS 关闭调试模式并且不抛出任何异常。 在服务器上,我在控制器(mvc web api)的操作中有断点,但没有到达。 但是,当我复制 url 并将其传递到控制器中的浏览器操作时,就会调用它。 当我将我的 url 更改为其他一些不正确的 url 时,GetAsync 抛出异常,该异常在 catch 中捕获。 我的应用程序位于 .net framework 4.5 控制台应用程序中。 也许我必须添加任何 dll ?
【问题讨论】:
-
您是否尝试在调用 GetAsync 后的 catch 和语句中设置断点?你用的是哪个版本的VS?
-
你从哪里打这个电话?控制台应用程序?
标签: c# asp.net-mvc async-await httpclient asp.net-web-api