У меня проблема с HttpContext.Current, являющаяся NULL, с использованием интерфейса NServiceBus для развязки (MVC) и внешнего (Azure WorkerRole). Я использую IMutateTransportMessages для перехвата исходящих и входящих сообщений TransportMessages. У меня есть некоторые данные в сеансе (внешний интерфейс MVC) и вам необходимо автоматически добавлять его к исходящим сообщениям TransportMessages с помощью Mutators. Аналогично мне нужно ввести некоторые данные из входящих сообщений TransportMessages в сеанс.HttpContext.Current является NULL в NServiceBus MessageMutator
Для лучшего понимания давайте взглянем на моем упрощенном сценарии:
Фрон-конец:
- У меня есть данные D1 в сессии
- Я посылаю CommandX в NServiceBus >> MutateOutgoing [принять данные D1 сформировать сеанс и вставить его заголовок TransportMerssage H1] >> сообщение отправляется на автобус
Back-конец: 3. Я получаю CommandX с заголовком H1, содержащие данные D1 4. Я некоторые вещи 5. добавить данные D2 в заголовок сообщения H2 и возврат CommanX к NServiceBus
Фронтальный: 6. Я получаю CommandX «ответ» в NServiceBus >> MutateIncomming [у меня есть данные D2 в заголовке H2 с фоновым, и я хочу, чтобы ввести эти данные в сессии, так что я могу использовать его в MVC переднем конце, но я не могу, так как HttpContext.Current является нулевой]
Любые идеи, почему Я могу получить доступ к сеансу из MutateOutgoing, а не из MutateIncomming? Любые обходные пути?
Спасибо! Martin
Да, вы правы, спасибо. Ответ на форум сообщества NServiceBus: http://tech.groups.yahoo.com/group/nservicebus/message/19451 – Heko