【发布时间】:2016-04-01 02:55:42
【问题描述】:
以下是记录器调用,即阻塞:
public static void Info(Category category, SubLevel subLevel, object message)
{
CommonLogger?.Info($"{category}, {(int) subLevel}, {message}");
}
我想让它异步执行,因此我做了以下修改,因为根据我的理解,将 Async-Await 用于 void 返回方法,就像当前的那样不是一个好策略:
public static void InfoAsync(Category category, SubLevel subLevel, object message)
{
Task.Run(() => CommonLogger?.Info($"{category}, {(int)subLevel}, {message}"));
}
代码上下文-
- 使日志记录异步运行
- 一劳永逸,主要业务逻辑分开进行
我的问题是:
我做出此更改是否正确?
还有更好的方法吗?
【问题讨论】:
-
就回答标题中的问题而言 - 是的,它现在将异步运行。其他 2 个问题过于主观,可能是基于意见的。改为在 codereview.stackexchange.com 上获取它。无论是在 SO 还是 codereview 上,都需要更多的上下文。
-
感谢我将发布到 CodeReview
-
我做这个改变是否正确取决于你想要达到的目标。 还有更好的方法,做同样的事情取决于你想要达到的目标。
-
要发布代码审查,您需要更多详细信息。
-
此上下文是否有助于获得更好的视图
标签: c# asynchronous async-await task-parallel-library