gpt4 book ai didi

asp.net - 异步 ASP.NET Web API 中的 ThreadStatic

转载 作者:行者123 更新时间:2023-12-02 18:30:40 34 4
gpt4 key购买 nike

是否有可能在单个请求中使用线程静态变量?当前代码使用线程静态变量进行日志记录,现在我们想要使用异步 Controller 方法(具有异步和等待模式),这会导致问题,因为打开新线程时该变量为空。

最佳答案

await会导致线程跳转,所以线程静态变量自然会出现问题。

要解决此问题,您可以使用 AsyncLocal<T> (在 .NET 4.6 中可用),或(如果必须) HttpContext.Current.Items 。在这两个中,我肯定会推荐 AsyncLocal<T>超过Items ,如果它在您的平台上可用。

关于asp.net - 异步 ASP.NET Web API 中的 ThreadStatic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42507054/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com