[小菜一碟] .NET Framework 能不能用新版 System.Text.Json 的 JsonNode、JsonObject、JsonArray、JsonValue?

  • 1241
  • 0
  • C#
  • 2022-09-22

以往在 Json.NETJTokenJObjectJArrayJValue 這些類別,可以讓我們在反序列化 JSON 的時候,不必一定要為其結構新增對應的型別,2021 年 11 月 .NET 6 釋出之後,內建的 System.Text.Json 也隨之升級,增加了 JsonNodeJsonObjectJsonArrayJsonValue,與 Json.NET 的那四個類別相對應,那我想要在 .NET Framework 使用 System.Text.Json 行不行?

...繼續閱讀 »

[廚餘回收] 關於 ASP.NET MVC 中 OutputCache 的 VaryByParam 屬性有一個不盡善盡美的地方

這天在追查為何 A 客戶的訂單會出貨到 B 客戶哪裡去? 於是我看到了下面這段程式碼:

在 Login 的 Action 上面被加了 OutputCacheAttribute,Duration 屬性被設成 3,其中還用到了 VaryByParam 屬性,我猜寫這段 Code 的工程師應該是想要為每個登入的帳號做 OutputCache,這樣設定沒有問題,問題出在 HTTP Request 的發送內容。

...繼續閱讀 »

[食譜好菜] Json.NET 處理多型的反序列化

多型在像是 C#、爪哇(用中文應該就不會被告了)這種強型別的物件導向程式語言,要將一個抽象類別的實例存到關聯式資料庫或是做序列化/反序列化,都需要另外處理,關於多型跟關聯式資料庫的對應方法我已經寫在這篇文章裡面,這篇要來寫寫多型如何做 JSON 的序列化/反序列化。

...繼續閱讀 »

[料理佳餚] ASP.NET MVC 自訂 ModelBinder 將宣告為抽象型別的參數反序列化

如果我們是真的用物件導向在設計程式,那麼一定會用到抽象類的型別(Abstract Class、Interface),在現今當下的資料交換格式中,JSON 算是大家首選的格式,可是當我們的設計相依於抽象之後,序列化及反序列化就變成一個我們必須特別要處理的點,序列化倒是還好,反序列化就比較頭痛了。

...繼續閱讀 »