2

WCFで複合型をシリアル化するための好ましい方法は、DataContractsを使用することですが、なぜそうなのですか?

サービス操作からDataContractの代わりにDataTableを返す場合、WCFはデフォルトのDataContractSerializerの代わりにXmlSerializerクラスを使用しますか?

そして最後に、このトピックでは、DataTableがsvcutilで受け入れられない-WCFサービス

問題は、DataTableを返すことによって、CLRタイプがXSDスキーマ定義に正しくマップされないことだと思いますか?

4

1 に答える 1

7

サービス コントラクトで DataTable を使用する際の主な問題は、技術的な問題ではなく、設計上の問題です。サービスがコントラクトで DataTable を使用している場合、標準化されたコントラクトと疎結合を使用するという SOA 設計原則に違反しています。
これは、サービスが DataTable を返す場合、DataTable に含まれる列がコントラクトで指定されていないためです。これにより、サービスの利用者は、サービス プロバイダーの内部動作についてある程度の知識を持つようになり、システムが緊密に結合されます。

于 2012-04-10T11:12:38.587 に答える