Im ziemlich neu zu schreiben Controller für asp.net und ich versuche, IQueryable zurückzugeben, aber ich kann nicht scheinen, um den Aufruf für den Inhalt zu erhalten.HttpClient ReadAsAsync <IQueryable <T>> gibt nie zurück
Dies ist mein Controller:
// GET: api/RumsaRooms
[EnableQuery]
public IQueryable<RumsaRoom> GetRooms()
{
return db.Rooms;
}
und dies ist mein Client Aufruf:
public async Task<IQueryable<T>> GetAllOf<T>()
{
var typeName = typeof(T).Name;
var result = await _client.GetAsync($"api/{typeName}");
if (!result.IsSuccessStatusCode)
{
var exception = await result.Content.ReadAsStringAsync();
}
//This method never returns
var rooms = await result.Content.ReadAsAsync<IQueryable<T>>();
return rooms;
}
Ich habe in der Connectionstring aktiviert Multiple. Der Statuscode ist 200.
Die Methode, die GetAllOf() sieht wie folgt aus:
private async Task<bool> LoadEntities()
{
var rooms = (await _rumsaClient.GetAllOf<RumsaRoom>()).ToList();
RoomsCollection = new ObservableCollection<RumsaRoom>(rooms);
return true;
}
LoadAllEntities im Konstruktor meiner Viewmodel genannt wird. Wenn ich den Anruf an das ändern funktioniert es:
var rooms = await result.Content.ReadAsAsync<List<T>>();
Ist es nicht möglich, eine IQueryable zu ReadAsAsync?
Dank
Erik