Closed onerain88 closed 1 year ago
作为 breaking change,最好写一下原来的代码要怎么迁移(可以加一个 changelog.md,也可以单独加一个 migration-guides/v2.md 之类的)。
作为 breaking change,最好写一下原来的代码要怎么迁移(可以加一个 changelog.md,也可以单独加一个 migration-guides/v2.md 之类的)。
先把如何升级写在 description 里了(准备和日志的 breaking changes 一起发 2.0.0 版本)
原因分析
.NET 异步环境下不应使用 ThreadLocal。
在 .NET Core Web Application 框架下,当使用 await 调用异步接口时,会让出当前线程,当前线程会处理其他 Request。如果在这种情况下通过 ThreadLocal 存储变量,会在 await 完成后冲突。
修改方案
不再使用 ThreadLocal 存值,为每个 Request 创建 LCEngineRequestContext 实例并回调。
注意
如何升级