c# - 在并行测试运行中访问非静态类中的静态属性
问题描述
我知道如果我有一个具有静态属性的静态类,那么该状态将与所有正在运行的线程共享。
1)但是假设我有一个具有静态属性的非静态类,该静态属性(每次登录都会更改,即 session_token)会在所有线程之间共享吗?
如果它是共享的,那么会话变量之类的东西就不能存储在静态属性中。
2)如何做到这一点?
解决方案
1)
静态变量在类的所有实例之间共享,无论该类是否是静态的。
在这个问题上可以找到更好的解释:
C#中静态变量有什么用?什么时候使用它?为什么我不能在方法中声明静态变量?
2)
会话变量可以存储在静态中。仅仅因为它们是全局的并不意味着它们是不可变的,只需在会话 ID 更改时更改静态属性。
推荐阅读
- spring - 带有 Spring Boot 的 Keycloak - 如何应用资源范围
- xpath - 如何使用 Google 表格来保存我拥有的股票代码的最新公告日期?
- python - 使用 TensorFlow 2.0.0 时:错误:设置 XLA_GPU_JIT 设备编号 0 时 XLA 服务不支持设备 CUDA:0
- python - 如何在 Windows 中找到文件的所有者?
- ios - 如何将我目前正在开发的 Flutter iOS App 分享给朋友/投资者,以便在他们的设备上进行测试或评论
- sql - SQL 语句:平均
- cron - 无法在 Apache Zeppelin 中打开 cron 功能
- r - 在 RStudio 中安装包在 macOS Catalina 上失败
- wso2 - 我如何知道 json 正文是否有内容?
- javascript - 如何使用表单将角度对象发布到 MVC 控制器