首页 文章

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

提问于
浏览
1

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

1 回答

  • 3

    SDK是否需要异步方法返回原始上下文才能继续正常运行?

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

    但是,我说这没关系 . 考虑到这个问题:

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

    如果需要上下文,则主机将提供上下文,您不应使用 ConfigureAwait(false) .

    如果没有上下文,那么主机将不提供上下文,无论您是否使用 ConfigureAwait(false) 都无关紧要 .

    如果提供了上下文但不是必需的,那么使用 ConfigureAwait(false) 将减少您的开销一小部分 - 不会失去睡眠 .

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

相关问题