DataSet 序列化時保持行狀態

2022-02-23 13:33:31 字數 570 閱讀 5555

有時候我們的解決方案會混用.net framework和.net core,比如客戶端用winform,而伺服器端用.net core api。

dataset在客戶端繫結方面還是非常方便的,因為它能記錄行狀態。可是,在winform裡面用binaryformatter來序列化dataset,在.net core中反序列化時會出錯(我遇到的錯誤是:type 'system.string' is not deserializable.)。

雖然winform也開始支援.net core了,但遷移也需要成本不是嘛。

解決方案是用xml的方式來序列化,分別輸出schema和data,輸出資料時採用diffgram格式,這樣就能相對高保真"跨平台"傳輸dataset了。

public static class datasetext

public static string tobase64string(this dataset dataset)

}

可以再加上gzip壓縮,這樣base64string能小點,也可以在iis或nginx上配置一下gzip壓縮,更省事。

jsonconvert 序列化時忽略指定的型別

定義自定義轉換類來忽略特定型別 自定義轉換類 public class customconverter jsonconverter public override void writejson jsonwriter writer,t value,jsonserializer serializer 轉...

mongodb c 序列化時 , Id引起的問題

1.c 序列化時,如果沒有指名 id 如果class,struct有membername為 id id 則自動識別為id 如果此時,這個 id 是唯讀屬性,就會引發異常。2.同樣的,如果指名乙個member,此member如果也是唯讀,則同樣引發異常 3.kline 序列化時,遇到問題 monodb...

js表單序列化時,非空判斷

在專案中,對於資料的傳輸一般需要非空的判斷,而資料字段較多時一般直接將表單序列化,此時如何判斷非空,如下 因為將表單序列化時,資料格式為 trainkind 1 trainkindcode 1 traintypecode 1 selfweight 1 weight 1 volume 1 loadpr...