Es bleibt nach dem Ende geschweiften Klammern stecken, wenn ich versuche, GetAllFiles()
von HttpClient
(MVC-Anwendung) aufzurufen. Ich kann die Daten im Debug-Modus sehen, aber beim Erreichen der End-Klammer bleibt sie hängen.WebApi kann nicht zu HttpClient zurückkehren
Wenn ich die gleiche WebApi-Methode vom Postboten anrufe, kann ich leicht die Daten bekommen.
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();
}
}
Dies ist die Forderung des Httpclient an den 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;
}
}
Danke Eran. Das hat mir sehr geholfen. Der Link zum Blog hat mir sehr geholfen. –
Ich bekam Kopfschmerzen, als ich das erste Mal darauf stieß. Ich bin froh, dass ich helfen konnte! – PartlyCloudy