我需要異步調用Web服務上的Register()
方法(使用C#)。 Web服務中實際的Register
方法的實現不會返回任何值。但是如果方法失敗,它會引發異常。鑑於此,下面的代碼看起來好嗎?異步調用webservice方法
public void RegisterProduct(string productName)
{
await RegisterProductAsync();
}
private async static Task RegisterProductAsync(string productName)
{
try
{
await myWebService.Register(productName);
}
catch(Exception ex)
{
LogException(ex);
}
}
感謝您的幫助。
您是否要求進行代碼審查?更好的地方是https://codereview.stackexchange.com。如果您遇到此代碼的任何問題,請解釋。 –
(1)你的'async'方法應該返回一個'Task',而不是'void'。 (2)日誌記錄應該包括被捕獲的實際異常。 (3)爲什麼調用方法不等待操作? 「火和忘記」有一個令人討厭的傾向,被遺忘。不要模糊異步操作,需要調用代碼來了解它們。 – David