У меня есть приложение .net 4.0, перенесенное из net 3.5, которое использует net.msmq на сервере 2008 x64
Настройка
- net.msmq Служба с адресом "net.msmq://localhost/private/msmqdataservice.svc"
- net.msmq endpoing с адресом "net.msmq://localhost/private/msmqdataservice.svc"
- очередь в MSMQ → name = "$ private\msmqdataservice.svc"
все работает над производством прямо сейчас с .net 3.5.
Я установил .net 4.0 на сервер и создал новый сайт для размещения в одном окне.
Новая настройка msmq установки
- net.msmq Служба с адресом "net.msmq://localhost/private/staging/msmqdataservice.svc"
- net.msmq endpoing с адресом "net.msmq://localhost/private/staging/msmqdataservice.svc"
- очередь в MSMQ → name = "$ private\staging/msmqdataservice.svc"
Создана другая очередь для другого сайта.
Другое изменение, которое я сделал с новым сайтом, это другой сайт в iis с прослушиванием на другом ip-адресе. Я оставил привязку net.msmq к "localhost". На главном сайте также есть привязка для net.msmq → 'localhost'. Я думаю, что так должно быть. Пожалуйста, укажите, нужна ли какая-то другая конфигурация.
Проблема заключается в том, что мои запросы попадают в очередь, но не получаются приложением, которое просто остается там
В журнале нет никаких признаков чего-либо неправильного. Единственное, что я вижу в журнале, связанном с этим, - это предупреждение "msmqactivation не может обнаружить очередь". Хотя это предупреждение я никогда не понимал правильно, поскольку мы видели это всегда со всем прекрасным с msmq в 3.5.
Все, что я могу думать, проверяется, и это правильно.
- Пул приложений приложений запущен как сетевой сервис и имеет полный доступ к очереди.
- Служба активации net.msmq работает с сетевым сервисом
- Пробовал другое соглашение об именах URL-адреса службы с таким же результатом
Резюме
Просьба представить информацию о настройке нескольких сайтов с помощью net.msmq. Я использую привязку net.msmq со значением = 'localhost' для обоих сайтов. Я думаю, что это механическое имя.
Любой способ диагностировать эту проблему?
Любая вещь, о которой вы можете подумать, может помочь.
Нам пришлось отложить выпуск вчера, так как, проведя 100 человеко-часов, мы не можем понять, в чем проблема. Также не удается заставить его разбиться на моей машине разработки.
Изменить
Проблема заключалась в том, что после создания нового соглашения об именах сайтов не работает, как
net.msmq Служба с адресом "net.msmq://localhost/private/staging/msmqdataservice.svc" net.msmq endpoing с адресом "net.msmq://localhost/private/staging/msmqdataservice.svc" очередь в MSMQ → name = "$ private\staging/msmqdataservice.svc"
он работал с именем службы net.msmq://localhost/private/msmqdataservice.svc
но теперь у меня не может быть двух сайтов, использующих точно такую же конечную точку.
Любой способ иметь одну и ту же конечную точку на двух разных сайтах с разными URL-адресами и другой очереди на одной машине?