我在异步环境(Silverlight)中工作,并拥有我用来在服务器端存储异常的 Logger 服务。
考虑这段代码:
catch (Exception ex)
{
this.loggerService.LogAsync(ex, "NotesService");
}
记录器看起来像这样:
public interface ILoggerService
{
Task LogAsync(Exception ex, string tag);
}
如果我像上面那样编写代码(甚至 catch 是在异步方法中),我就不能在那里等待。如果我保持原样,我会收到警告说执行仍在继续,等等,等等。这很好,我不在乎。我只需要记录错误。
我可以取消这个警告还是应该为此想出更好的模式?