0

私はWCFを初めて使用しますが、WCFメソッドからデータを返すことについて疑問があります。

WCFメソッドからSqlDataReaderまたはDataTableオブジェクトを返すことはできますか?

ありがとう

4

3 に答える 3

0

はい、できますが、DataTableには多くのオーバーヘッドがあるため、エンティティのリストに書き込んでこのリストを渡すことを検討してください。

この方法で私ははるかに少ないトラブルを引き起こしました

于 2013-02-27T09:12:02.577 に答える
0

新しいオブジェクトを作成してから、それらのコレクションを返す必要があります。このようなもの。

public class Thing
{
    public int ID { get; set; }
    public string Name { get; set; }
}

次に、データテーブル/リーダーを使用して、LINQまたは反復を使用してコレクションを作成できます。

大まかなsudoコード:

Initialise List for Thing

foreach var v in DataTable
{
    List<Thing>.Add(new Thing(){ ID = v.ID, Name = v.Name });
}

return List

または、linqを使用することもできます。

List<Thing> theList = DataTable.Select(x => new Thing { ID = x.ID, Name = x.Name });

return theList;

あなたは残りを理解することができます、私は確信しています、あなたがより明確にする必要があるならば、私は私の答えを拡大します。お役に立てれば。

于 2013-02-27T09:21:44.487 に答える
0

はい、100% .net でサポートされている任意の returntype で返すことができます。ただし、WCF は非常に柔軟であるため、WCF のクライアントは常に 100% .net フレームワークであるとは限りません。Javaでも消費できます。Java returntype は .net returntype と 100% 同等ではないため、注意が必要です。たとえば、一般的なリストは、クライアント側でデフォルトで監視可能なコレクションに変換されます。

于 2013-06-26T07:38:23.233 に答える