誰かが私がどこで間違っているのか教えてくれるのだろうか。wpfアプリケーションVS2012にサービス参照を追加しました
ただし、非同期呼び出しの待機がブロックされているため、現時点では何もしていません。サービスリファレンスを追加したときに無料で受けた非同期呼び出し...
しかし、私await ma.searchModelsAsync
がブロックされたとき...
誰かがこれに光を当てることができますか?
まず、次のような関数を呼び出します。
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
button1.IsEnabled = false;
var cnt = await GetDataFromWcf();
button1.IsEnabled = true;
}
これが私が呼び出す実際の関数です
public async Task<List<ViewModels.ModelInfo>> GetDataFromWcf()
{
using (var ma = new DataGenic.ModelActionsServiceTypeClient())
{
var modelInfos = await ma.searchModelsAsync(new ModelSearchCriteria { Category = "ECB" }, 1, 50);
return modelInfos.Select(mi => new ViewModels.ModelInfo { Id = mi.Id, Name = mi.Name, Uri = mi.Uri }).ToList();
}
}
ところで:関数をaに入れると、Task.Run(() => ...
期待どおりに動作します...
WCFが本当に私が欲しいものを私に与えているかどうかわからない..誰かアイデア?