0

データベース通信を必要とするASP.NETWebサイトを(最終段階で)作成したので、データベースに接続するためのWCFサービスを作成しました。Selectステートメントがある場合、それらのサービスはDataTableを返します。

サービスは正常に機能しており、Webサイトも正常に機能しています

APIの作成時に、WindowsPhoneSDKがDataTablesをサポートしていないことを知りません。

そのWindowsPhoneSDKがDataTableをサポートしていないところをいくつか読みました。また、Visual Studioでチェックインしました。また、System.Data名前空間にDataTableというクラスがありません。

私はWindowsPhoneを初めて使用します。

ただし、ここでは、Webサイトと同じように機能するWINDOWS PHONE APPを作成するため、既存のAPI(WCFサービス)を使用します。

このタスクを実行する方法はありますか。most of the methods return type is DataTable

2つのAPI(サービスを意味する)を作成したくありません。私は何をすべきか?

WindowsPhoneとWebサイトの両方で機能するサービスを作成する方法。

APIを変更する準備ができており、それに応じてWebサイトも更新する準備ができていますか?

ありがとう

4

2 に答える 2

1

Stream代わりに返すようにAPIを変更しましたDataTable

 System.IO.StringWriter reader = new System.IO.StringWriter();
 dt.WriteXml(reader, XmlWriteMode.WriteSchema);//dt is datatable
 return reader;

ウェブサイトの小さな変更で、ストリームを読み取り、それをdatatable

    StringReader xmlReader = new StringReader(stream);
    DataTable dt = new DataTable();
    dt.ReadXml(xmlReader);

アップデート:

このアプローチはお勧めできません (これが私の最初の Web サービス アプリケーションでしたDTOs) DataTable

リンクをたどると、正しい方向に進む可能性があります。

http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide http://mono.servicestack.net/ServiceStack.Hello/

于 2012-06-06T07:52:50.087 に答える
0

なぜデータテーブルを使用したのかわかりません。データセットのことですか?

それらはすべて、内部では XML です。それらを解析してみてください。次のようなことを試してください:

    var resultNewDataSet = XElement.Parse(xmlContent);

    var result = resultNewDataSet.Descendants("Table")
        .Select(t => new
            {
                aaa = t.Descendants("aaa").First().Value,
                bbb = t.Descendants("bbb").First().Value
            });

    foreach (var res in result)
    {
        System.Diagnostics.Debug.WriteLine("aaa: " + res.aaa + " / bbb: " + res.bbb);
    }
于 2012-06-02T14:37:05.950 に答える