Уровень обслуживания разделен на команду и сторону запроса, а на каждой стороне есть свои обработчики.Wcf с SimpleInjector бросает «Области WCF не могут быть вложенными»
Следующая конфигурация используется
// EF context
_container.RegisterPerWcfOperation<MyDbContext, MyDbContext>();
_container.RegisterManyForOpenGeneric(typeof(IHandler<>),
ApplicationAssemblies);
// many more regs but nothing special
SimpleInjectorServiceHostFactory.SetContainer(_container);
и необходимые разметки настройки:
Factory = "SimpleInjector.Integration.Wcf.SimpleInjectorServiceHostFactory, SimpleInjector.Integration.Wcf"
исключает следующее:
Области WCF не могут быть вложены.
Я думаю, что ошибка возникает в
internal WcfOperationScope BeginScope()
в WcfOperationScopeManager
реализации.
Некоторые сведения фона:
- применение WinForm
- исполнение QueryClient делается с BackgroundWorker
- Я использую Simple Injector версии 2.2.3
- Global.asax, который строит контейнер
- , размещенный в IIS
- У каждого .svc установлена разметка
SimpleInjectorFactory
wsHttpBinding
с сертификатом и обычаяUserNamePasswordValidator
- каждой конфигурации конечных точек имеет все необходимые значения, установленные для 2147483647.
ошибка происходит, когда я выполняю два запроса загрузки быстро последовательно, так что первый не завершен, а второй имеет место.
Я даю второму решению, попробовать в течение следующих спринтов и ждать для обновления. Просто нужно изменить одну учетную запись и два метода в двух службах. – Khh
второе решение было исправлено в пять минут и работает. замечательный, отличная поддержка! – Khh