1

C# Web サービスを設計していますが、単一の顧客レコードを出力するためのベスト プラクティスがわかりません。

現在、DataTable を返します (非常にうまく機能します) が、これは「通常の」アプローチですか、それとも DataRow、DataSet を使用するか、単純に古い XML 出力を作成する必要があります。

4

3 に答える 3

2

C# Web サービスに関する私の経験から、DataTable をフロント エンドに返すことはかなり標準的な方法です。

単一のレコードを返す場合、XML は必要ありません。

于 2013-01-21T22:47:47.327 に答える
1

Webサービスは、理想的にはプラットフォームに依存しません。DataTable一般に、 .NETに固有のリターンまたはその他のタイプを返すことはベストプラクティスではありません。あなたのクライアントはそれらに対処できないかもしれません。

単一の顧客を返品するだけの場合は、返品するだけです。顧客のリストを返す場合は、リストを返すだけです。

[OperationContract]
public Customer GetCustomer(int id);

[OperationContract]
public IEnumerable<Customer> GetAllCustomers();

WCFは、クライアントが返品を処理できるように、これを適切にシリアル化します。

于 2013-01-21T22:56:21.953 に答える
0

すべてはあなたが期待しているクライアントに依存します、いくつかのリターンタイプはすべてのデバイスで利用できるわけではありません、そのため私は常にカスタムクラスを返すようにしています。

しかし、あなたの目的がデータテーブルでうまく機能する場合は、それを使用してください私はデータテーブルを多くの本番コードのリターンタイプとして見ています

于 2013-01-21T22:50:17.587 に答える