【发布时间】:2016-11-27 17:14:53
【问题描述】:
当我尝试从HttpClient(MVC 应用程序)调用GetAllFiles() 时,它在大括号结束后卡住了。我可以在调试模式下看到数据,但是当到达结束大括号时它会卡住。
当我从 postman 调用相同的 WebApi 方法时,我可以轻松获取数据。
public class FileToDriveController : ApiController
{
public IHttpActionResult GetAllFiles()
{
//Gets credentials
GoogleUtility googleUtility = new GoogleUtility();
UserCredential credential = googleUtility.GetCredential();
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "DriveApiFileUpload"
});
var listRequest = service.Files.List();
listRequest.MaxResults = 10;
IList<Google.Apis.Drive.v2.Data.File> files = listRequest.Execute().Items;
if(files!=null)
{
return Ok(files); //i can see files here in debug mode
}
return InternalServerError();
}
}
这是HttpClient对api的调用
public async Task<HttpResponseMessage> getAllFiles()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:16184/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage message = await client.GetAsync("api/FileToDrive/GetAllFiles");
if (message.StatusCode == HttpStatusCode.OK)
{
return message;
}
return null;
}
}
【问题讨论】:
标签: c# asp.net-mvc asp.net-web-api asp.net-web-api2 google-api-dotnet-client