0

我想创建一个 WCF 服务,该服务将根据请求中的“接受”标头返回 Json 和 XML。我想使用 XML 序列化程序,因为我可以更好地控制 xml 输出。要返回 json,我需要使用数据合同序列化程序。我看到不可能同时配置两者。有人对我如何实现这一点有任何想法吗?

谢谢

4

1 回答 1

2

我从您的问题中假设您想要创建一个 REST 类型的 API,它根据请求的标头返回 XML 或 JSON,而不是使用 SOAP 的 API。我确信这在 WCF 中是可能的,但是您必须正确配置配置,而且我很难找到正确配置的良好来源。网络上到处都有线索(比如这里),但没有一个来源。我以为我有一个正在运行的示例,但似乎我最近所做的一些更改破坏了它。

WCF 中的 REST 太难了。我的建议是使用ASP.NET Web API来构建 REST 服务。它是 MVC 4.0 的一部分,易于使用和配置。开箱即用,它的工作方式就像您期望 REST API 工作一样,并将返回 JSON 或 XML,具体取决于标头中“接受”的设置。请注意,这个 Microsoft 产品的历史是它最初是 WCF REST Start Kit,后来成为 WCF Web API,现在最终成为 ASP.NET Web API。如果您使用 MVC,那么选择它很容易。

于 2012-04-05T15:08:43.357 回答