1

DataContractSerialization を検索しているときに、DataContractSerialization が WCF で使用されていることに言及しているさまざまな記事を見つけました。現在、私は.net 4.0を使用したデスクトップアプリケーションの1つに取り組んでいます(サービスではありません)。このアプリケーションには、シリアル化するさまざまなデータがあります。

DataContractSerialization の機能を見て、アプリケーションに DataContractSerialization を使用したいと考えています。

そこで、DataContractSerialization をデスクトップ アプリケーションに使用できるかどうか、およびバージョニングを処理するためのガイドラインを教えてください。

4

4 に答える 4

1

はい、DataContractSerializer はWCF で使用するために作成されましたが、独立した自己完結型であり、WCF を使用しなくても使用できます。それは別のアセンブリにあります。

于 2012-06-08T10:04:32.407 に答える
1

デスクトップアプリケーションに datacontractserializer を問題なく使用できます。バージョン管理に関しては、既存のデータ コントラクトに新しいメンバーを追加し、不足しているデータを非常に簡単に処理できます。

ただし、フィールドを削除したり、既存のフィールドの意味を変更したりする場合 (たとえば、靴のプロパティの「サイズ」が以前はユーロ サイズでしたが、現在は英国の靴サイズになっている場合)、それはすぐに困難になります。次に、新しい契約バージョンを作成する必要があります。この質問を参照してください: DataContractSerializer を使用した単純なデータ ファイルのバージョン管理

これは、バージョン管理戦略に関するマイクロソフトのドキュメントです

于 2012-06-08T10:06:44.883 に答える
0

はい、できます。

それを除けば、WCF はデスクトップ アプリを除外しませ。ServiceHostクラスを使用して、デスクトップ アプリケーションでホストできます。

于 2012-06-08T10:20:51.740 に答える
0

はい、使用できます。Xml シリアライゼーションには、ディクショナリとリストをシリアライズしようとすると、いくつかの欠点があります。しかし、DataContractSerialization は必要なすべての機能を提供します。

于 2012-06-08T09:59:50.403 に答える