• Авторизация


Solicit-Response адаптер для BAF 2004. 21-03-2004 04:44 к комментариям - к полной версии - понравилось!


Собственно адаптеры не бывают solicit/response, но для того, чтобы поддержать solicit/response порт, адаптеру нужно знать из какого типа порта он запускается. Странным образом, BAF не имеет четкой инфраструктуры для определения context properties : IPropertyBag выглядит как самое первое приближение к определению property schema instance, но именно он и содержит нужную информацию.Необходимый property называется "IsSolicitResponse". Значение его не важно, а только присутствие среди context properties, кот. связаны с IBaseMessage во время вызова IBTTramsmitter.TransmitMessage(). Для поддержки solicit/response, теперь нужно обычным образом получить MessageFactory, TransportBatch и т.д., построить сообшение, на кот. делать submit, и вызывать SubmitResponseMessage(msg1, msg2);Этот вызов сам позаботится о заполнении соответсвующих properties в msg2 (в частности, корелляции).
А я бы добавил в IBaseMessage поддержку клона для такого копирование, внутри которого можно было и проверить из какого типа порта послано msg1; и если из solicit/response, функция такого клона и сконструировала бы все необходимые properties для submit. 2 преимущества : a). не нужно экспонировать сырой IPropertyBag, b). не нужен второй API - SubmitResponseMessage() - можно ограничиться одним обычным - SubmitMessage, и тогда адаптер и знать ничего не должен о solicit/response.
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Solicit-Response адаптер для BAF 2004. | Oleg_Kleiman - Soft kibitzing | Лента друзей Oleg_Kleiman / Полная версия Добавить в друзья Страницы: раньше»