ASP.NET 4 MVC Web API:XML接口的序列化

ASP.NET 4 MVC Web API:XML接口的序列化,xml,asp.net-mvc-4,asp.net-web-api,Xml,Asp.net Mvc 4,Asp.net Web Api,我使用IoC容器autofac管理我的对象。因此,我只使用接口而不是对象 如果我的web api返回Document类型的对象,那么框架可以处理json和xml序列化。 我向Document类添加了[DataContract]-属性,但在接口中这是不可能的 因此,如果我想返回IDocument类型的对象,我会得到一个HTTP代码500。 ASP.NET 4 MVC Web API现在是RC,框架还不能将接口成员序列化为xml吗? Json序列化没有问题。Web API接口上公开的类型必须是DTO

我使用IoC容器autofac管理我的对象。因此,我只使用接口而不是对象

如果我的web api返回Document类型的对象,那么框架可以处理json和xml序列化。 我向Document类添加了[DataContract]-属性,但在接口中这是不可能的

因此,如果我想返回IDocument类型的对象,我会得到一个HTTP代码500。 ASP.NET 4 MVC Web API现在是RC,框架还不能将接口成员序列化为xml吗?
Json序列化没有问题。

Web API接口上公开的类型必须是DTOs-数据传输对象。也可以称为视图模型

在客户端无关的Web API上公开模型是一种反模式


如果您的API纯粹用于.NET客户端,则可以使用WCF,也可以使用。也可以将它们与接口一起使用。

Web API接口上公开的类型必须是DTOs-数据传输对象。也可以称为视图模型

在客户端无关的Web API上公开模型是一种反模式


如果您的API纯粹用于.NET客户端,则可以使用WCF,也可以使用。将它们与接口一起使用也可以。

我想要一个用于移动客户端的RESTAPI。好的,也许我必须使用纯类DTO,或者我可以为我的xml表示实现一个自定义格式化程序json与接口配合得很好这里必须有一种使用接口的方法。否则,IoC和从属解析程序的目的是什么。Jsonformatter可以做到这一点,但如果不想使用从接口派生的对象,我会得到:配置的格式化程序“System.Web.Http.Tracing.Tracers.XmlMediaTypeFormatterTracer”无法写入类型为“WhereSelectListIterator`2”的对象。即使我将其转换为类类型,我也需要一个用于移动客户端的RESTAPI。好的,也许我必须使用纯类DTO,或者我可以为我的xml表示实现一个自定义格式化程序json与接口配合得很好这里必须有一种使用接口的方法。否则,IoC和从属解析程序的目的是什么。Jsonformatter可以做到这一点,但如果不想使用从接口派生的对象,我会得到:配置的格式化程序“System.Web.Http.Tracing.Tracers.XmlMediaTypeFormatterTracer”无法写入类型为“WhereSelectListIterator`2”的对象。即使我将其转换为类类型。它在asp.net-mvc-5中仍然不起作用:它在asp.net-mvc-5中仍然不起作用: