我正在为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