NServiceBus: especificando a ordem das mensagens

Estou usando o NServiceBus em seu próprio processo (entãonão usando o host genérico) e eu gostaria de ter vários manipuladores de mensagens para uma mensagem em uma ordem específica. Para o host genérico, você implementariaISpecifyMessageHandlerOrdering, mas não sei como fazer isso ao hospedar seu próprio processo NServiceBus, pois essa interface está definida emNServiceBus.Host.exe e não consegui encontrar outra maneira de fazer isso.

O objetivo disso é a autenticação do usuário: antes que o manipulador de mensagens real seja chamado, gostaria de autenticar o remetente da mensagem, o que aconteceria em um manipulador de mensagens diferente e mais genérico. A mensagem será de um tipo que contenha o nome de usuário e senha criptografados e / ou um ID de sessão. Este tipo será usado para quase todos os comandos enviados ao servidor (tudo, exceto o login, eu acho). Esta é uma maneira correta de fazer autenticação de usuário usando o NServiceBus?

Atualmente, ele pega o segundo manipulador, mas não na ordem certa.

Atualizar

Conforme sugerido por David, tentei criar umIMessageModule e lendo os cabeçalhos doCurrentMessageContext para autenticar o usuário.

Encontrei alguns problemas aqui:

A primeira vez que envio uma mensagem, obus.CurrentMessageContext énull. Toda vez depois disso, ele é preenchido corretamente e eu consigo ler os cabeçalhos.Chamandobus.DoNotContinueDispatchingCurrentMessageToHandlers quando o usuário não está autenticado, não impede que os manipuladores de mensagens sejam chamados. Nem fazbus.Return(errorCode). Existem outras maneiras de fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion