2

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

如果我的 web api 返回“文档”类型的对象,则框架可以处理 json 和 xml 序列化。我将 [DataContract]-Attributes 添加到 Document-class,但在接口中这是不可能的。

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

4

1 回答 1

0

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

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

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

于 2012-06-11T14:59:52.953 回答