0

Windows 8 で wcf を使用しようとしています: WCF サービスによって生成されたメソッドを使用するコード:

public System.Threading.Tasks.Task<Maquette_MyAirport_Win8.FlightService.CitiesResponse> 
    GetAllCitiesAsync(Maquette_MyAirport_Win8.FlightService.BaseRequest request)
{
    return base.Channel.GetAllCitiesAsync(request);
}

public testproxy()
{
    _client = new FlightInfoServiceClient(Maquette_MyAirport_Win8.FlightService.FlightInfoServiceClient.EndpointConfiguration.wsHttpBindingConfiguration);
    BaseRequest req = new BaseRequest();
    System.Threading.Tasks.Task<Maquette_MyAirport_Win8.FlightService.CitiesResponse> CitiesResponse = _client.GetAllCitiesAsync( new BaseRequest());
    CitiesResponse.ContinueWith(task => citiesL = task.Result.Cities.FirstOrDefault(););

}

タスクのステータスcitysResponseは「WaitingForACtivation」で、結果は「未計算」です。

タスクをアクティブにする方法と結果を取得するにはどうすればよいですか??

4

1 に答える 1

3

非同期を追加して、タスクタイプの代わりに結果タイプを取得するのを待つ必要はありませんか?

次のようになります。

var result = await _client.GetAllCitiesAsync( new BaseRequest());

そして、メソッドで非同期を追加する必要があります

于 2012-09-20T08:27:12.020 に答える