У меня есть служба WCF REST, которая предоставляет пару дюжин объектов и основана на вызовах маршрутизации в формате url, используя 3 разных метода.Например:
Protected Function [get](ByVal objType As String, ByVal id As String, ByVal propertyList As String, ByVal token As String) As Object
Каждый из этих методов возвращает Object или BaseObj (от которого наследуются все возвращаемые нами типы).Однако в конечном итоге проблема заключается в том, что при просмотре XML я получаю обертку типа:
<ArrayOfBaseObj xmlns="http://objects/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<BaseObj i:type="Event">
<!-- Event object details -->
</BaseObj>
</ArrayOfBaseObj>
вместо элементов, напечатанных так же, как реальный возвращаемый объект, например:
<ArrayOfEvent xmlns="http://objects/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Event>
<!-- Event object details -->
</Event>
</ArrayOfEvent>
Есть ли способ заставить сериализатор XML использовать имя типа для элементов переноса, а не базовый тип?JSON, по-видимому, возвращает тип правильно, это всего лишь сериализация xml, в которой я не совсем в восторге.