簡體   English   中英

ASP.NET Web API和[Serializable]類

[英]ASP.NET Web API and [Serializable] class

我有一個標有[Serializable]的類。 當我從Web API返回它時,字段名稱都很時髦。

通常返回的JSON是

[{"OrderId":797 ...

使用[Serializable]時返回JSON

[{"<OrderId>k__BackingField":797 ...

我不想將其標記為可序列化以使用BinaryFormatter進行緩存。 除了編寫自定義序列化程序或制作一個不可序列化的雙胞胎並編寫猴子代碼以在兩者之間“施放”之外,還有其他方法嗎?

你只需要這個單行來讓Json.NET再次忽略[Serializable]語義:

((DefaultContractResolver)config.Formatters.JsonFormatter.SerializerSettings.ContractResolver).IgnoreSerializableAttribute = true;

一個更好的解決方案可能是完全擺脫[Serializable],停止使用BinaryFormatter,並使用不同的序列化程序來做你想要做的任何緩存,例如Json.NET序列化程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM