Мне нужно предоставить non-repudiation в моих службах WCF и хочу сохранить все мои входящие SOAP-запросы в БД SQL-сервера с данными сигнатуры / безопасности и всем содержимым конверта .
Таким образом, когда возникает проблема, мы можем сказать клиенту " Привет, ЭТО ваше подписанное сообщение " в точности так, как вы его написали .
Для этого мне нужно сохранить связь между XML-конвертом SOAP и моими постоянными бизнес-объектами / транзакциями.
Пример: ЭТО - это SOAP-конверт , используемый для добавления ИД клиента = 4567 к данным моих клиентов.
Мне нужно установить связь между конвертом SOAP и бизнес-транзакцией, выполняемой моим приложением. Хранение @@ идентификатора зарегистрированного сообщения могло бы быть решением. Но куда я это положу? В SOAP Body? Хранить в памяти?
Я читал о входе в WCF и написал Database Logger , который вставляет в таблицы информацию журнала вместо текстового файла, но я не знаю, как связать эти данные с разобранным / десериализованным бизнес-объект datacontract, который поступает в метод моей службы WCF.
Я даже не знаю, является ли это правильным подходом!
Любой шаблон / совет / подсказка / инструмент / помощь будут оценены.
Спасибо.