我有一个问题,HttpContext.Current 使用 NServiceBus 解耦前端 (MVC) 和后端 (Azure WorkerRole) 为 NULL。我正在使用 IMutateTransportMessages 来拦截传出和传入的 TransportMessages。我在 Session(MVC 前端)中有一些数据,需要使用 Mutators 自动将其附加到传出的 TransportMessages。类似地,我需要将一些来自传入 TransportMessages 的数据注入到 Session 中。
为了更好地理解,让我们看一下我的简化场景:
前端:
- 我在 Session 中有数据D1
- 我将 CommandX 发送到 NServiceBus >> MutateOutgoing [从 Session 中获取数据D1并将其插入 TransportMerssage 标头H1 ] >> 消息被发送到总线
后端: 3. 我收到带有包含数据D1的标头H1的 CommandX 4. 我做了一些事情 5. 我将数据D2添加到消息标头H2中并将 CommanX 返回到 NServiceBus
前端: 6. 我在 NServiceBus >> MutateIncomming 中得到 CommandX “响应” [我在后端的标头H2中有数据D2,我希望将这些数据注入 Session 以便我可以在 MVC 前端使用它-结束,但我不能,因为 HttpContext.Current 是null ]
任何想法,为什么我可以从 MutateOutgoing 而不是从 MutateIncomming 访问 Session?任何解决方法?
谢谢!马丁