在Windows服务中使用ConfigureAwait(false)吗?

10

据我所知,在 Windows Service 应用程序中没有同步上下文。

  • await fooTask.ConfigureAwait(false) 在 Windows 服务中有任何好处吗?
  • 这有什么陷阱吗?

只要没有安装同步上下文的代码,就不会有任何陷阱。同样地,只要这段代码在没有同步上下文的线程上运行,也不会有任何好处。但对于共享类库来说仍然是有意义的。 - noseratio - open to work
1
@Noseratio 为什么你不把那个作为一个答案发表呢? - svick
@svick,我已经发布了。 - noseratio - open to work
1个回答

7

在Windows服务中,使用fooTask.ConfigureAwait(false)是否有任何好处?是否有任何缺陷?

只要没有安装同步上下文的代码,就不会有缺陷。只要此代码在没有同步上下文的线程上运行,也没有好处。

尽管如此,对于旨在在不同执行环境中使用的共享类库,此代码仍然是有意义的。

如果您有同步上下文,则可能存在一些问题

更新:现在已经是2021年了,这里是我对现在使用ConfigureAwait的看法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接