我正在爲WebApi實現ExceptionLogger,其中異常會記錄到數據庫中。從Async調用void同步方法 - 無法等待void
public class CustomExceptionLogger : ExceptionLogger
{
public override async Task LogAsync(ExceptionLoggerContext context, CancellationToken cancellationToken)
{
var log = new Logger();
await log.LogMessage(context.Exception); --Cannot await 'void' complie time error here
}
}
public class Logger
{
public void LogMessage(Exception ex)
{
//code to insert message into db
}
}
如何解決這個問題?
爲什麼你需要'LogAsync'是異步? –
'await Task.Run(()=> log.LogMessage(context.Exception))'? –
@Yacoub Massad - 由於我的logmessage涉及數據庫操作,我希望我的LogAsync是異步 – user472269