调用ConfigreA的最佳实践-等待所有服务器端代码当您有服务器端代码(即ApiController),并且您的函数是异步的,所以它们返回Task<SomeObject>-是否认为最佳做法是,在任何时候等待你调用的函数ConfigureAwait(false)?我已经读到,它具有更高的性能,因为它不需要将线程上下文切换回原来的线程上下文。但是,使用ASP.NETWebApi,如果您的请求出现在一个线程上,并且等待某个函数并调用ConfigureAwait(false),这可能会使您在返回您的最终结果时处于不同的线程中。ApiController功能。我已经打了一个例子来说明我在下面说的话:public class CustomerController : ApiController{
public async Task<Customer> Get(int id)
{
// you are on a particular thread here
var customer = await SomeAsyncFunctionThatGetsCustomer(id).ConfigureAwait(false);
// now you are on a different thread! will that cause problems?
return customer;
}
3 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
<system.web> <globalization culture="en-AU" uiCulture="en-AU" /> ...
// CultureInfo.CurrentCulture ~ {en-AU}await xxxx.ConfigureAwait(false);// CultureInfo.CurrentCulture ~ {en-US}
- 3 回答
- 0 关注
- 485 浏览
添加回答
举报
0/150
提交
取消