为了账号安全,请及时绑定邮箱和手机立即绑定

如何将Json.Net设置为WCF REST服务的默认序列化器

如何将Json.Net设置为WCF REST服务的默认序列化器

RISEBY 2019-10-11 10:56:52
序列化/反序列化实体时可以改写默认的WCF DataContractSerializer行为,而改用JSON.NET吗?我具有以下处理城市实体的服务合同。出于设计原因,City实体的IsReference = true,因此默认的DataContractSerializer引发错误。对于“ GET”方法,我可以使用JsonConvert.DeserializeObject处理这种情况,但是对于“ PUT,POST,DELETE”方法,DataContractSerializer优先并且无法抱怨IsReference实体无法序列化。我已经找到了实现IOperationBehavior并提供我自己的序列化程序的帖子,但是我不知道如何将Json.NET与此集成。我相信应该有更直接的方法。对于这种情况的任何帮助或指导,或对其他方法的建议,我将不胜感激。[ServiceContract][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]public class CityService{    [Description("Get all Cities")]      [WebGet(UriTemplate = "")]    public Message Cities()    {    }    [Description("Allows the details of a single City to be updated.")]    [WebInvoke(UriTemplate = "{code}", Method = "PUT")]    public Message UpdateCity(string code, City city)    {    }}
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 749 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信