序列化/反序列化实体时可以改写默认的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) { }}
添加回答
举报
0/150
提交
取消