基本序列化技術範例
這個範例會說明 Common Language Runtime 將記憶體中的物件 Graph 序列化為資料流的能力。 這個範例可以使用 SoapFormatter 或 BinaryFormatter 進行序列化。 一個內含資料的連結串列 (Linked List),會序列化為檔案資料流或從檔案資料流還原序列化。 在這兩種情形下,清單都會顯示供您查看結果。 連結串列的型別為 LinkedList,是這個範例所定義的型別。
如需序列化的詳細資訊,請檢視原始程式碼和 build.proj 檔案中的註解。
若要使用命令提示字元建置範例
使用 [命令提示字元],巡覽至 Technologies\Serialization\Runtime Serialization\Basic 目錄下的其中一個語言特定子目錄。
根據您選擇的程式設計語言,在命令列輸入 msbuild SerializationCS.sln、msbuild SerializationJSL.sln 或 msbuild SerializationVB.sln。
若要使用 Visual Studio 建置範例
開啟 檔案總管,並巡覽至此範例任一程式設計語言的子目錄。
根據您選擇的程式設計語言,按兩下 SerializationCS.sln、SerializationJSL.sln 或 SerializationVB.sln 檔案的圖示,在 Visual Studio 中開啟這個檔案。
在 [建置] 功能表中,選取 [建置方案]。
這個範例應用程式將建置於預設的 \bin 或 \bin\Debug 子目錄中。
若要執行範例
巡覽至包含已建置之可執行檔的目錄。
在命令列輸入 Serialization.exe 以及您想要的參數值。
注意事項
這個範例會建置一個主控台應用程式。您必須使用命令提示字元啟動,才能檢視它的輸出。
備註
這個範例應用程式接受會指出您想執行哪一項測試的命令列參數。 若想使用 SOAP 格式子 (Formatter),將包含 10 個節點的清單序列化成名為 Test.xml 的檔案,請使用 sx Test.xml 10 參數。
例如:
Serialize.exe -sx Test.xml 10
如果想還原序列化前一個範例的 Test.xml 檔,請使用 dx Test.xml 參數。
例如:
Serialize.exe -dx Test.xml
在上述兩個範例中,命令列參數中的 "x" 表示您想執行 XML SOAP 序列化。 如果在相同的位置上使用 "b",就表示要使用二進位序列化。 如果您想嘗試序列化大量的節點,可以將主控台輸出重新導向至檔案中。
例如:
Serialize.exe -sb Test.bin 10000 >somefile.txt
下面幾點簡短說明了此範例所使用的類別和技術。
執行階段序列化
IFormatter 用來參考 BinaryFormatter 或 SoapFormatter 物件。
BinaryFormatter 用來將連結串列序列化成二進位格式的資料流。 二進位格式子使用的格式只有 BinaryFormatter 型別才了解。 不過,資料相當簡明。
SoapFormatter 用來將連結串列序列化成 SOAP 格式的資料流。 SOAP 是一種標準格式。
資料流 I/O
Stream 用來執行序列化及還原序列化。 這個範例所用的特定資料流型別是 FileStream 型別。 不過,序列化可以使用衍生自 Stream 的任何型別。
File 用來建立 FileStream 物件,以便在磁碟上讀取及建立檔案。
FileStream 用來將連結串列序列化及還原序列化。
請參閱
參考
System.Runtime.Serialization 命名空間