我想使用 IoC / web api 框架的依赖解析器进行解耦。
XmlFormatter 不能序列化接口,...好的。但是,如果我不能返回 xml,IoC 和 DependencyResolver 的目的是什么?
我什至不能这样做:(我的 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;
}
我创建了一个 IProject 列表并将它们转换为“项目”。但是在创建响应时,我得到了这个:
配置的格式化程序“System.Web.Http.Tracing.Tracers.XmlMediaTypeFormatterTracer”无法写入“WhereSelectListIterator`2”类型的对象。
那是一个 XmlMediaTypeFormatterTracer?我不想跟踪在序列化时引发错误。(顺便说一句:我用自己的 XMLformatter 替换了标准的 XMLformatter。但是“XmlMediaTypeFormatterTracer”引发了异常......信息:我在使用标准格式化程序时遇到了同样的错误)
即使我实现了自己的 xmlformatter,为什么还要调用这个 XmlMediaTypeFormatterTracer?