Уровень сервиса MessageLogging с protobuf-net - PullRequest
0 голосов
/ 25 января 2019

Очень похоже на этот вопрос , у меня возникли проблемы с отладкой службы WCF, использующей protobuf-net, и я хотел бы использовать MessageLogging, чтобы помочь диагностировать ее.

Что касается другого вопроса, я получаю следующее для журнала сообщений на уровне обслуживания:

MessageLogging output with no readable content in the proto element

(т. Е. Пустой элемент <proto> без полезного содержимого для проверки.)

На транспортном уровне журнал сообщений показывает сериализованные данные в элементе proto. Таким образом, обычно служба WCF работает должным образом (данные принимаются на клиенте).

Есть только одна небольшая часть запроса / ответа, которая теряет некоторую информацию, и я получаю пустую строку. Проблема заключается в одном свойстве одного параметра, тип которого представляет собой простой старый [DataContract], с [DataMember(Order = 0, IsRequired = true)] атрибутами на элементах (увеличиваются соответствующим образом), и я подозреваю, что отсутствие атрибутов Proto, вероятно, является проблемой. К сожалению, у меня нет такого большого контроля над этим подозрительным классом, поэтому все, что я могу сделать, это попытаться увидеть, что происходит.

Для простоты, я полагаю, мой вопрос в основном состоит из двух частей:

  1. Работает ли вышеприведенное ведение журнала сообщений должным образом, или я должен видеть удобочитаемое содержимое запроса / ответа в элементе <proto>?
  2. Если именно так работает протоколирование сообщений с protobuf-net, есть ли еще один простой способ проверить сообщение до его десериализации обратно в объекты и потери значения свойства?
...