Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 桌面应用程序的DatacontractSerializer_C#_Datacontractserializer - Fatal编程技术网

C# 桌面应用程序的DatacontractSerializer

C# 桌面应用程序的DatacontractSerializer,c#,datacontractserializer,C#,Datacontractserializer,在搜索DataContractSerialization时,我发现了许多文章提到DataContractSerialization与WCF一起使用。现在我正在使用.NET4.0开发一个桌面应用程序(不是任何类型的服务)。此应用程序具有要序列化的variuos数据 通过查看DataContractSerialization的功能,我希望将DataContractSerialization用于我的应用程序 因此,请告诉我DataContractSerialization是否可以用于桌面应用程序和任何

在搜索DataContractSerialization时,我发现了许多文章提到DataContractSerialization与WCF一起使用。现在我正在使用.NET4.0开发一个桌面应用程序(不是任何类型的服务)。此应用程序具有要序列化的variuos数据

通过查看DataContractSerialization的功能,我希望将DataContractSerialization用于我的应用程序


因此,请告诉我DataContractSerialization是否可以用于桌面应用程序和任何处理版本控制的指南。

是的,您可以使用它。当您尝试序列化字典和列表时,Xml序列化有一些缺点。但是DataContractSerialization提供了我们需要的所有功能。

是的,DataContractSerializator是为WCF使用而编写的,但它是独立的、自包含的,可以在不以任何方式使用WCF的情况下使用。它甚至在一个单独的程序集中。

您可以将datacontractserializer用于桌面应用程序,没有问题。至于版本控制,您可以将新成员添加到现有的数据协定中,并非常轻松地处理丢失的数据

但是,如果您想删除字段或更改现有字段的含义(例如,您的鞋属性“尺码”过去是欧元尺码,但现在是英国鞋类尺码),则很快就会变得困难。然后您应该创建一个新的合同版本。请参见以下问题:

这是一份来自microsoft的文档,位于

是的,您可以


除此之外,WCF不排除桌面应用程序-它可以通过使用类托管在桌面应用程序中。

感谢您的回复。使用DataContractSerialization进行版本控制的任何指南行。可从.Net frmwrk 3.5 sp1获得。