私は非常に新しいasp.netとIQueryableを返そうとしていますが、私はコンテンツを返すよう求めているようです。HttpClient ReadAsAsync <IQueryable <T>>返信することはありません
これは私のコントローラです:
// GET: api/RumsaRooms
[EnableQuery]
public IQueryable<RumsaRoom> GetRooms()
{
return db.Rooms;
}
、これは私のクライアント呼び出しです:私はたconnectionStringにmultipleactiveresultsetsを有効にしている
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;
}
。
private async Task<bool> LoadEntities()
{
var rooms = (await _rumsaClient.GetAllOf<RumsaRoom>()).ToList();
RoomsCollection = new ObservableCollection<RumsaRoom>(rooms);
return true;
}
LoadAllEntitiesが私のviewmodelのコンストラクタで呼び出されます。 のStatusCodeはGetAllOf()は次のようになります200
方法があります。私はこれに呼び出しを変更した場合 は、それが動作します:それはのIQueryableにReadAsAsyncすることが可能に
var rooms = await result.Content.ReadAsAsync<List<T>>();
はありませんか?
おかげ
エリック