Я пытаюсь передать некоторую информацию о пользователях в заголовке сообщения через инспекторов сообщений.
Я создал поведение, которое добавляет инспектора в службу (как клиент, так и сервер).
Но когда я пытаюсь связаться с сервисом, я получаю следующую ошибку:
XmlException:
Имя не может начинаться с символа «<», шестнадцатеричное значение 0x3C. </em>
У меня также есть исключение, сообщающее, что DataContracts неожиданно.
Тип
'System.DelegateSerializationHolder + DelegateEntry'
с названием контракта данных
«DelegateSerializationHolder.DelegateEntry: http://schemas.datacontract.org/2004/07/System'
не ожидается Рассмотрите возможность использования
DataContractResolver или добавить любые типы
статически не известен в списке
известные типы - например, с помощью
атрибут KnownTypeAttribute или
добавив их в список известных типов
передано в DataContractSerializer.
Дело в том, что мой объект содержит другие объекты, помеченные как DataContract, и мне не интересно добавлять атрибут KnownType
для этих типов.
Другая проблема может заключаться в том, что мой объект для сериализации очень ограничен в форме внутреннего класса, внутренних свойств и т. Д.
Может кто-нибудь направить меня в правильном направлении. Что я делаю не так?
Код:
public virtual object BeforeSendRequest(ref Message request, IClientChannel channel)
{
var header = MessageHeader.CreateHeader("<name>", "<namespace>", object);
request.Headers.Add(header);
return Guid.NewGuid();
}