IServiceBus.Reply() не работает в среде prod
У нас есть веб-приложение в DMZ, отправляющее сообщения на наш сервер с помощью Bus.Send(). Приложение подписывается на несколько сообщений от сервера с помощью Bus.Notify().
Вышеприведенные два сценария работают, но для 2 типов сообщений мы используем send/reply, и они не работают в среде prod.
Оба экземпляра msmq для шинных узлов устанавливаются только с функцией "Сервер очереди сообщений".
Мы получаем это в Event Viewer:
Служба очереди сообщений не смогла получить доступ к доменным службам Active Directory и не смогла вычислить путь маршрутизации для сообщений, отправленных в очередь 3fe8c734-de40-4761-8902-9bd1f2f191e1\00000010. Сообщения будут ожидать в исходящей очереди до восстановления соединения с доменными службами Active Directory. Это событие регистрируется не чаще, чем раз в 600 секунд. Чтобы изменить этот параметр, задайте для параметра реестра HKLM\Software\Microsoft\MSMQ\Parameters\Event2188 требуемое время в секундах. Ошибка 0xc00e006a:
Все работает, когда мы направляем приложение DMZ через другой сервер с той же настройкой. За исключением того, что рабочий бэкэнд использует обычную учетную запись домена пользователя в качестве контекста приложения, а отказавший бэкэнд использует учетную запись домена службы. Мне кажется, что служебной учетной записи не хватает жизненно важных разрешений, я просто не могу понять, что именно, и мне нужно быть очень явным при общении с sysop.