我应该在 Azure WebJobsSDK 的顶级调用中使用 ConfigureAwait(false)

Should I use ConfigureAwait(false) in the top level call of Azure WebJobsSDK

我将 Windows Azure 与 WebJobsSDK 一起使用,我想知道在调用 aync 方法时是否应该将 ConfigureAwait(false) 添加到等待的调用中。换句话说,SDK 是否需要异步方法 return 到原始上下文才能继续正常运行?

does the SDK require the async methods to return to the original context to continue to function properly?

我不知道这个问题的答案;它可能取决于主机。也就是说,SDK 本身不需要特定的上下文,但主机可能需要。

不过,我想说没关系。考虑这个问题:

Should I use ConfigureAwait(false) in the top level call of Azure WebJobsSDK

如果需要上下文,主持人会提供上下文,您不应该使用ConfigureAwait(false)

如果没有context,宿主就不会提供context,用不用ConfigureAwait(false)都无所谓

如果提供了上下文但它不是必需的,那么使用 ConfigureAwait(false) 会减少你的开销非常非常小 - 不会让你失眠。

所以,我想说捕获上下文(即不使用 ConfigureAwait(false))是跨任何主机的最安全的解决方案。