Странное поведение с использованием WCF и ServiceModelEx Service Bus
Я использую часть служебной шины ServiceModelEx. (и использование AppFabric для автоматического запуска сервисов WCF). У меня странное поведение...
По сути, при первом обращении к служебной шине все правильные события запускаются по цепочке (проверяется путем просмотра в базе данных и просмотра записанных значений).
Но при последующих звонках ничего не происходит. Как будто события никогда не срабатывают...
.Svclogs не показывает ничего полезного, на самом деле, они даже не регистрируют последующие события.
Журналы событий Windows, однако, показывают следующие ошибки для каждой из служб, подписанных на шину:
WebHost failed to process a request.
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/777031
Exception: System.ServiceModel.ServiceActivationException: The service '/AcmeWidgets.WidgetFactory.Subscribers.WidgetBuilder/BuildService.svc' cannot be activated due to an exception during compilation. The exception message is: The type 'AcmeWidgets.WidgetFactory.Subscribers.WidgetBuilder.BuildService', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.. ---> System.InvalidOperationException: The type 'AcmeWidgets.WidgetFactory.Subscribers.WidgetBuilder.BuildService', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
at System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
--- End of inner exception stack trace ---
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
Process Name: w3wp
Process ID: 3052
Я знаю, что значение атрибута службы является правильным, очевидно, потому что он работает правильно с первого раза.
Есть идеи???
Изменить 1: Чтобы добавить к этому странному поведению, если я "перестроить" решение в Visual Studio, первый вызов в шину работает, и все события в цепочке срабатывают, а затем все последующие вызовы сбой, снова
1 ответ
Путь кода, который вы показываете здесь трассировку стека, не является специфическим для служебной шины. Это ошибка активации. Мне кажется, что здесь есть ошибка загрузки типа. Я хотел бы попытаться взглянуть на это сначала с помощью fuslogvw