У меня есть служба WCF Per-Call, которая предоставляет данные для клиентов и в то же время интегрирована с NServiceBus.
Все объекты statefull хранятся в UnityContainer, который интегрирован в хост настраиваемой службы.
NServiceBus настроен вузел службы и использует тот же контейнер, что и экземпляры службы.
Каждый клиент имеет свой собственный контекст экземпляра (описанный Ювалом Лоуи в его книге в главе о службах долговременного обслуживания).
Если мне нужно отправить запрос по шине Iпросто используйте своего рода диспетчер и дождитесь ответа с помощью Thread.Sleep (). Так как сервисы для каждого вызова, это нормально, аааик.
Но я немного запутался в сообщениях от шины, этот сервис должен обрабатывать и предоставлять их клиентам,Для некоторых данных, таких как биржевые котировки, я просто обновляю некоторый объект statefull и затем, когда клиенты вызывают GetQuotesData (), просто предоставляю данные из этого объекта.Но есть множество служебных сообщений, таких как добавление новой цитаты и т. Д.
На данный момент у меня есть идея реализовать что-то вроде «Postman daemon» =)) и сохранять сообщения такого типа в контексте экземпляра.Затем клиент вызовет «GetMail ()», получит эти сообщения и проанализирует их.Проблема в том, что сообщения NServiceBus «основаны на интерфейсе», и я не могу передать их через WCF, поэтому мне нужно преобразовать их в типы, полученные из некоторого абстрактного класса.
Не знаю, как лучше всего справиться с этой ситуацией.Буду очень признателен за любые советы по этому вопросу.
Заранее спасибо.