Исключение XmlMediaTypeFormatter веб-API
Я хочу использовать IoC / решатель зависимостей веб-API-интерфейса для развязки.
XmlFormatter не может сериализовать интерфейсы,... Хорошо. Но какова будет цель IoC и DependencyResolver, если я не могу вернуть xml?
Я даже не могу сделать это: (Метод в моем ApiController)
public HttpResponseMessage Get()
{
IEnumerable<Project> projects = new List<IProject>() { new Project(), new Project() }.Select(p => p as Project);
HttpResponseMessage response = Request.CreateResponse<IEnumerable<Project>>(HttpStatusCode.OK, projects);
return response;
}
Я создаю список IP-проектов и преобразую их в "Проект". Но при создании ответа я получаю это:
Сконфигурированный форматер 'System.Web.Http.Tracing.Tracers.XmlMediaTypeFormatterTracer' не может записать объект типа 'WhereSelectListIterator`2'.
Это XmlMediaTypeFormatterTracer? Я не хочу трассировки, которая выдает ошибки во время сериализации. (Кстати: я заменил стандартный XML-формататор своим собственным. Однако "XmlMediaTypeFormatterTracer" выдает исключение... Информация: я получаю ту же ошибку при использовании стандартного форматера)
Почему вызывается этот XmlMediaTypeFormatterTracer, даже если я реализую свой собственный xmlformatter?
2 ответа
Моя проблема решена с
config.Formatters.XmlFormatter.UseXmlSerializer = false;
Вы включили трассировку в своем приложении? Если да, логика трассировки включает средства форматирования в свои средства форматирования.