Is JSON.NET’s caching strategy messing with my development cycle?
我正在尝试向我们系统中的现有数据合同添加一个字段。 (EF 代码优先,POCO 的属性为地狱 :P)
但是,当将合约序列化到剃刀视图(以填充到 Angular.js 模型中)时,序列化程序会忽略新字段。如果我在调试模式下单步执行,则视图中的
我已经回收了apppool,重新启动了网站并重新启动了IIS,但没有解决。我还使用提琴手检查了数据流,以避免浏览器端出现任何缓存问题。
以下解决方法确实有效,因此模型上确实存在该属性:
1
2 3 4 5 |
var model = @Html.ToJson(Model);
model.NewProperty = @Model.NewProperty; return { model: model }; |
…其中
有人知道发生了什么吗?根据这个答案,在 json.net 中有某种形式的类型信息缓存,但很难找到有关它的更多信息。
我正在尝试向我们系统中的现有数据合同添加一个字段。 Json.NET 支持数据契约,数据契约序列化是可选的:
Apply the DataContractAttribute attribute to types (classes, structures, or enumerations) that are used in serialization and deserialization operations by the DataContractSerializer…
You must also apply the DataMemberAttribute to any field, property, or event that holds values you want to serialize. By applying the DataContractAttribute, you explicitly enable the DataContractSerializer to serialize and deserialize the data.
因此,如果您的模型用
1
2 3 4 5 6 |
[DataContract]
public class Model : SomeBaseClass { [DataMember] public string NewProperty; } |
请注意,即使您的
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/269540.html