HttpClient
(MVCアプリケーション)からGetAllFiles()
に電話をかけようとしているときに中括弧の後についてしまいます。私はデバッグモードでデータを見ることができますが、終わりのブレースに到達すると、それは固まってしまいます。WebApiがHttpClientに戻ることができません
私は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();
}
}
これは、APIへの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