Очень похоже на этот вопрос , у меня возникли проблемы с отладкой службы WCF, использующей protobuf-net, и я хотел бы использовать MessageLogging, чтобы помочь диагностировать ее.
Что касается другого вопроса, я получаю следующее для журнала сообщений на уровне обслуживания:
(т. Е. Пустой элемент <proto>
без полезного содержимого для проверки.)
На транспортном уровне журнал сообщений показывает сериализованные данные в элементе proto. Таким образом, обычно служба WCF работает должным образом (данные принимаются на клиенте).
Есть только одна небольшая часть запроса / ответа, которая теряет некоторую информацию, и я получаю пустую строку. Проблема заключается в одном свойстве одного параметра, тип которого представляет собой простой старый [DataContract]
, с [DataMember(Order = 0, IsRequired = true)]
атрибутами на элементах (увеличиваются соответствующим образом), и я подозреваю, что отсутствие атрибутов Proto
, вероятно, является проблемой. К сожалению, у меня нет такого большого контроля над этим подозрительным классом, поэтому все, что я могу сделать, это попытаться увидеть, что происходит.
Для простоты, я полагаю, мой вопрос в основном состоит из двух частей:
- Работает ли вышеприведенное ведение журнала сообщений должным образом, или я должен видеть удобочитаемое содержимое запроса / ответа в элементе
<proto>
?
- Если именно так работает протоколирование сообщений с protobuf-net, есть ли еще один простой способ проверить сообщение до его десериализации обратно в объекты и потери значения свойства?