WCF REST服务的工作方式很好,它将根据标题回复/接受JSON或XML。如何在WCF REST中调整默认JSON序列化程序
我想稍微调整一下内置的JSON序列化程序,因此它对Byte []进行编码/解码的方式有点不同。更具体地说,我想为此使用Base64。
是我可以设置将影响整个服务的自定义类型串行器的任何指针/示例?
WCF REST服务的工作方式很好,它将根据标题回复/接受JSON或XML。如何在WCF REST中调整默认JSON序列化程序
我想稍微调整一下内置的JSON序列化程序,因此它对Byte []进行编码/解码的方式有点不同。更具体地说,我想为此使用Base64。
是我可以设置将影响整个服务的自定义类型串行器的任何指针/示例?
http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx的帖子显示了如何用自定义的JSON序列化器(本例中为JSON.NET)替换默认的JSON序列化器(DataContractJsonSerializer)。
我刚刚成功地使用NETFx Json.NET MediaTypeFormatter在我的WCF REST服务4.0中使用JSON.NET序列化程序替换了默认的DataContractJsonSerializer。另请参阅JSON.NET Serializer for WCF REST Services以解决我遇到的问题以实现此目标。
我看到它是为较旧的WCF完成的。我使用.NET 4 WCF休息,并没有涉及的属性。代码非常清晰透明。我想知道是否有任何方法可以在web.config中设置序列化器? – katit
您可以创建行为扩展(http://blogs.msdn.com/b/carlosfigueira/archive/2011/06/28/wcf-extensibility-behavior-configuration-extensions.aspx处的信息)以将其添加到配置中,但你仍然需要将代码插入到4.0版本的WCF管道中。使用新的WCF Web API(目前在http://wcf.codeplex.com上的预览版),它会容易得多(您可以编写媒体类型格式化程序并使用工厂插入)。 – carlosfigueira