我正在编写我所指的POJ(Plain Old JSON)WCF Web服务 - 一个接收和发出标准JSON而没有ASP.NET Ajax喜欢添加到它的垃圾的服务.
似乎有三个步骤来实现这一目标:
这对我来说都很好 - 我可以传入并且返回了很好的JSON.
如果我删除了WebInvoke属性,那么我会返回XML,因此它肯定正在做它应该做的事情.但令我感到奇怪的是,指定JSON输出的选项出现在这里,而不是在配置文件中.假设我想将我的方法公开为XML端点 - 我该怎么做?目前我能看到的唯一方法是使用第二种方法完成相同的操作,但没有指定WebMethodFormat.Json.然后冲洗并重复我服务中的每种方法?呸.
指定输出应该在属性中被序列化为JSON似乎完全违背了WCF的原理,其中实现的服务是一种传输和编码不可知的方式,留下了如何将数据移动到周围的令人讨厌的细节.配置文件.
有没有更好的方式做我想做的事情?或者我们是否坚持这个尴尬的属性?或者我不够深入了解WCF?