2

我在异步环境(Silverlight)中工作,并拥有我用来在服务器端存储异常的 Logger 服务。

考虑这段代码:

    catch (Exception ex)
    {
        this.loggerService.LogAsync(ex, "NotesService");
    }

记录器看起来像这样:

public interface ILoggerService
    {
        Task LogAsync(Exception ex, string tag);
    }

如果我像上面那样编写代码(甚至 catch 是在异步方法中),我就不能在那里等待。如果我保持原样,我会收到警告说执行仍在继续,等等,等等。这很好,我不在乎。我只需要记录错误。

我可以取消这个警告还是应该为此想出更好的模式?

4

1 回答 1

1

由于您绝对确定要忽略来自 的完成/错误LogAsync,因此可以执行以下简单的解决方法:

catch (Exception ex)
{
    var _ = this.loggerService.LogAsync(ex, "NotesService");
}
于 2013-03-13T00:12:07.497 回答