Ошибка нескольких конечных точек Nservicebus

1

Я некоторое время работал в NSB, и все работало! Когда пришло время переместить его на серверы, у меня, похоже, есть архитектура дистрибьютора/рабочего для масштабируемости. Однако при запуске NSB на сервере-распространителе OR, это дает мне ошибку, которую я не могу понять или обойти:

Unhandled Exception: System.InvalidOperationException: Host doesn't support host
ing of multiple endpoints. Endpoint classes found: Namespace.EndpointCo
nfig, Namespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null,
Namespace.EndpointConfig, Namespace, Version=1.0.0.0, Culture
=neutral, PublicKeyToken=null You may have some old assemblies in your runtime d
irectory. Try right-clicking your VS project, and selecting 'Clean'.
   at NServiceBus.Hosting.Windows.EndpointTypeDeterminer.AssertThatNotMoreThanOn
eEndpointIsDefined(List'1 endpointConfigurationTypes) in y:\BuildAgent\work\31f8
c64a6e8a2d7c\src\NServiceBus.Hosting.Windows\EndpointTypeDeterminer.cs:line 150
   at NServiceBus.Hosting.Windows.EndpointTypeDeterminer.GetEndpointConfiguratio
nType(HostArguments arguments) in y:\BuildAgent\work\31f8c64a6e8a2d7c\src\NServi
ceBus.Hosting.Windows\EndpointTypeDeterminer.cs:line 81
   at NServiceBus.Hosting.Windows.Program.Main(String[] args) in y:\BuildAgent\w
ork\31f8c64a6e8a2d7c\src\NServiceBus.Hosting.Windows\Program.cs:line 41

Я настраиваю свою конечную точку следующим образом:

     public class EndpointConfig : IConfigureThisEndpoint, AsA_Server,
     IWantCustomInitialization
        {

Моя конечная точка выглядит так:

 <add Assembly="HEC.Messages" Endpoint="hec.messageservice@servername" />

Команда, которую я запускаю для создания этой ошибки, - это...

    E:\Services\NServiceBus.Host.exe /install ABC.messageservice 
/username:domain\ouruser /password:value NServiceBus.Distributor 
NServiceBus.Production NServiceBus.PerformanceCounters

Я понятия не имею, что я здесь делаю неправильно, или что вызывает ошибку в этом отношении. Я подозреваю, что моя конечная точка настроена неправильно, но я не знаю, что менять, я пробовал следовать инструкциям на сайте NSB, чтобы настроить дистрибьютора/сотрудника без везения.

Теги:
msmq
nservicebus

2 ответа

2
Лучший ответ

Похоже, что хост находит две реализации EndPointConfig. Из сообщения об ошибке оба они кажутся одинаковыми и в том же пространстве имен.

Убедитесь, что в вашем коде имеется только одна реализация IConfigureThisEndpoint. Кроме того, убедитесь, что вы очистили каталог bin/runtime, чтобы убедиться, что хост не находит больше одного. Последнее, по-видимому, является более вероятной проблемой, основанной на вашем сообщении об ошибке.

  • 0
    Спасибо, что указали нам в правильном направлении. В развертывании были вложенные папки, в которых были те же файлы развертывания, что nservicebus, должно быть, выполнял сканирование сборки и дополнительно считывал эти конечные точки.
  • 0
    Чувак, у меня было одно среднее: добавлена ссылка на проект ReSharper, в котором был тот же Config-Entry.
0

Для меня проблема в том, что я переименовал/переместил пространства имен, и даже после clean старые файлы сборки все еще зависали. Пришлось входить в папки /bin и /obj чтобы удалить их вручную.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню