Пространства имен XML в ASP.NET Web API

В настоящее время я работаю над проектом, который требует от меня вывода XML с его конечных точек вместе с JSON. У меня есть следующая модель:

[DataContract(Namespace="http://www.yale.edu/tp/cas")]
[XmlType("serviceResponse")]
[XmlRoot(Namespace="http://www.yale.edu/tp/cas")]
public class ServiceResponse
{
    [XmlElement("authenticationSuccess")]
    public AuthenticationSuccess Success { get; set; }

    [XmlElement("authenticationFailure")]
    public AuthenticationFailure Failure { get; set; }
}

Вывод выглядит следующим образом, когда успех не равен нулю:

<serviceResponse>
<authenticationSuccess />
</serviceResponse>

Теперь я могу видеть, что, очевидно, у меня нет префикса, назначенного пространству имен, частью которого я назвал элементы. Моя проблема в том, что я не могу найти место для добавления префиксов пространства имен в MVC4 с помощью средства форматирования мультимедиа. У меня есть следующее в моем global.asax:

GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
GlobalConfiguration.Configuration.Formatters.XmlFormatter.RemoveSerializer(typeof(Models.ServiceResponse));
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SetSerializer(typeof(Models.ServiceResponse), new Infrastructure.NamespaceXmlSerializer(typeof(Models.ServiceResponse)));

Я сделал собственный сериализатор на основе XmlSerializer, пытаясь перехватить запрос на запись и добавить туда список пространств имен. Проблема этого метода заключается в том, что прямо сейчас у меня есть точки останова внутри каждого переопределяемого метода, и ни одна из них не отключается при сериализации, что приводит меня к мысли, что мой сериализатор не используется.

Есть ли какой-то встроенный способ выполнить то, что я хочу сделать, или я застрял, повторно реализуя XmlMediaTypeFormatter для передачи в пространства имен, когда он сериализует объекты?

Ответы на вопрос(1)

Ваш ответ на вопрос