我需要完全控制Rest WCF服务中的json序列化过程。我需要替换序列化结果,类似于:
{ foo: 42, bar: 43 }
使用:
myFunc( { foo: 42, bar: 43 } );
任何想法?
感谢 米。
答案 0 :(得分:3)
之前我遇到过类似的问题,我通过从WCF服务返回内存流来解决这个问题。完成后,您可以手动设置MIME类型。这基本上允许您以任何MIME类型返回任何结果。我想我用这个用于jsonp。对不起,我现在正在iPad上工作,所以我不能提供一个例子。快速谷歌搜索应该可以满足您的需求。
另外,我建议使用json.net进行序列化......使用它比标准的.net序列化更容易。
答案 1 :(得分:0)
我认为您需要创建自己的序列化程序。您继承自DataContractSerializerOperationBehavior
并覆盖CreateSerializer
。
您可以在protobuf.net中看到如何完成的示例。
扩展输出对象以包含一个参数是调用函数的名称,然后在网页的回调上调用它可能更简单。
{ "func": "myFunc", "foo": "42", "bar": "43" }
其他有用的链接: