Он застревает после того, как закончилась фигурная скобка, когда я пытаюсь позвонить GetAllFiles()
из HttpClient
(приложение MVC). Я могу видеть данные в режиме отладки, но при достижении конечной скобки он застревает.WebApi не может вернуться в HttpClient
Когда я вызываю тот же метод 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 к АНИ
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;
}
}
Спасибо Эран. Это очень помогло мне. Мне очень понравилась ссылка на блог. –
У меня возникла серьезная головная боль, пытающаяся понять это, когда я впервые столкнулся с этим, рад, что смогу помочь! – PartlyCloudy