2012-04-05 91 views
0

我想创建一个WCF服务,它将基于请求中的“Accept”标头返回Json和XML。我想使用XML序列化器,因为我可以更好地控制xml输出。为了返回json,我需要使用数据合约序列化器。我发现无法配置两者。有没有人对我如何实现这个有任何想法?WCF服务支持数据协定序列化器和xml序列化器

感谢

回答

2

我从您想要创建一个REST API类型返回根据请求的头,不使用SOAP的API XML或JSON你的问题的假设。我确信这在WCF中是可行的,但是您必须正确配置配置,并且无法找到正确配置的良好来源。网络上有线索(like here),但没有一个来源。我以为我有一个例子运行,但似乎我最近做出的一些改变破坏了它。

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挑选这是一件容易的事。