Webサービスを呼び出すWindowsサービスがあります。すべてのAPI呼び出しはテストされ、正常に動作します。Windowsサービスはコード0で終了し、エラーが発生していなくても終了します。
サービスは、APIにデータを送信する特定のコードを実行します。それはループに戻り、継続することになっています。それは単に停止です。 JSonは、フィドラーでAPIに送られ、正常に動作します。ここで
は、問題のコードは次のとおりです。 -
public async Task<WorkOrderCreationResponseDto> ImportWorkOrders(WorkOrderCreationRequestDto request)
{
try
{
WorkOrderCreationResponseDto resp = await RestClient.PostAsync<WorkOrderCreationRequestDto, WorkOrderCreationResponseDto>(string.Format("{0}/WorkOrders", Resource), request);
return resp;
}
catch (Exception ex)
{
throw ex;
}
}
今のコードは、のawaitラインになります。この時点で、コードはコード0で終了します。戻り値に決して到達せず、エラーもキャッチに閉じ込められません。
私は朝のトローリングラウンドGoogleの後に完全に失われているので、なぜそれが起こるのか説明することは誰もそれをすべて理解しようとすることができます。
これについていくつか光を当てることができるものは、非常に高く評価されます。
環境はWindows 10周年のアップデートとVisual Studio 2015です。私たちはC#でコーディングしています。
をコメントに反応して
おかげ スティーブ
ADDED私たちは、以下のコードではwoのあるデータオブジェクトを構築します。 _restには、APIのユーザー資格情報が含まれています。
using (SopImportDataService service = new SopImportDataService(_rest))
{
string jsonString = JsonConvert.SerializeObject(wo);
//WorkOrderCreationResponseDto c = await service.ImportWorkOrders(wo);
await service.ImportWorkOrders(wo);
Console.WriteLine("");
}
「ImportWorkOrders」はどのように呼び出されますか? –
こんにちはGlorin、Iveは質問に他のコードスニペットを追加しました。 – MagicWand
おそらく私は別の方法で接近していたはずです:コールスタックのどこかで待たされていないように聞こえ、asyncメソッドが現在のスレッドを生成するとすぐにプログラムが終了しているようです。 –