IWr*_*pps 1 c# asp.net async-await asp.net-web-api asp.net-web-api2
我正在研究一种API最终会获得大量流量的新产品.我最初的印象是我想要ConfigureAwait(false)通过我的完整async/ await堆栈设置,但在尝试调试一些后,application insights tracing我发现HttpContext如果我使用的话,其中的某些值会丢失ConfigureAwait(false).
任何具有高流量API经验的人都可以告诉我我可能会遗失的任何其他可能会ConfigureAwait(false)因为用户是否有可能从其他用户的请求接收输出而受到影响?
删除ConfigureAwait(false)我的所有语句会有什么影响API?
用户是否可以从不同用户的请求接收输出?
实际上,没有.当然,这不会只是通过添加ConfigureAwait(false).您需要非常明确地将数据从一个请求传递到另一个请求才能执行此操作.
在我的API中删除所有ConfigureAwait(false)语句会有什么影响?
该API无法访问有关当前请求的任何信息,因为就其而言,将不会有当前请求.对于API,这是可取的.UI特定代码将与当前请求交互以向API提供输入,并且能够使用API调用的结果更新请求,但API本身不会与请求交互.
也就是说,除非您的API专门设计为UI API,并且其设计目的是与当前请求交互,在这种情况下,您不希望显式删除有关当前请求的信息ConfigureAwait(false).
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |