【发布时间】:2019-10-10 18:30:18
【问题描述】:
我知道there is an analogous question 但那是关于 ASP.NET 而不是关于 ASP.NET Core。答案是 7 到 9 岁,在那里混合讨论 ASP.NET 和 ASP.NET Core 可能不是一个好主意。
在这种情况下我的意思是线程安全:
在属于同一会话的多个请求中使用Session(通过HttpContext 访问,通过注入的IHttpContextAccessor 访问)的读写方法(如Set(...))是否安全?
显而易见的答案是肯定的,因为如果它不安全,那么所有开发人员都应该让他们的会话访问代码线程安全......
我查看了DistributedSession source code,这似乎是默认设置(我在调试器中的会话是DistributedSession 的一个实例),并且没有任何序列化或其他技术(如锁)的痕迹。 ..即使是私人_store 成员也是纯粹的Dictionary...
这个线程对于并发修改使用如何是安全的?我错过了什么?
【问题讨论】:
标签: multithreading session asp.net-core concurrency httpcontext