.net - WF4 WorkflowApplication - 自定义 SynchronizationContext 以模拟用户 (Thread.CurrentPrincipal)
问题描述
我正在使用 Workflow Foundation WF4,并且希望在运行 WorkflowApplication 实例时模拟或“运行为”用户。
要访问用户,我想使用 Thread.CurrentPrincipal
我正在尝试找到一种解决方案,通过该解决方案我可以模拟或配置用户以适应 WorkflowApplicaton 实例的范围/生命周期。对于在其中执行的所有活动,工作流应在提供的声明主体的安全上下文下运行。
在一个实例上使用的声明主体不应影响进程中的任何其他线程或任何其他 WorkflowApplication 实例 - 它应该被隔离。
我一直在调查 SynchronizationContext。WorkflowApplication 允许您使用 SynchronizationContext 的任何实现。我对在自定义实现中设置 Thread.CurrentPrincipal 的含义没有信心。它会通过活动层次结构流动/传播吗?可以将主体锁定到运行工作流的线程吗?
有人对自信地实现这些要求有什么想法吗?
解决方案
推荐阅读
- java - 注入的类是否必须具有特定于弹簧的注释?
- python - Dash 中的 Windrose (Barpolar) 未更新
- openstreetmap - 如何仅显示没有节点或方式的关系
- macos - 如何从 Intel Mac 在 Silicon Mac M1 上运行 Dockerfile
- python - 在具有多个网络和方法的模型类上使用 writer.add_graph() 时出现问题,这些网络和方法采用不同的输入
- javascript - 如何在 map() 函数中获取反应道具
- java - Spring也用于前端是否正确?
- sql - 使用 LISTAGG/XMLAGG 未按预期工作
- scrapy - Scrapy 无法解析响应时间较长的页面
- google-cloud-functions - 具有多个 cron 计划的 Cloud Scheduler?