我正在为 WebApi 实现 ExceptionLogger,异常记录到数据库中。
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
}
}
如何解决这个问题?
最佳答案
如果您真的希望 LogMessage() 是异步的和可等待的,您需要将代码更改为如下所示:
public class Logger
{
public async Task LogMessage(Exception ex)
{
//code to insert message into db
}
}
要使它有用,您的数据库插入代码也应该是异步的。
关于c# - 从 Async 调用 void sync 方法 - 无法等待 void,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37328976/