0

インターフェース

[ServiceContract]
public interface Idemo
{
    [OperationContract]
    [WebGet(UriTemplate = "check?Value1={id}&Value2={name}&Value3={city}",
ResponseFormat = WebMessageFormat.Xml, 
BodyStyle = WebMessageBodyStyle.Bare)]
    string GetData(string id,string name);
}

クラス

public class demo : Idemo
{
public string GetData(string id,string name,string city) 
    {           

       DataTable tb;
        tb = con.GetDataTable("query");
        tb.TableName = "data";                     
        System.IO.StringWriter writer = new System.IO.StringWriter();
        tb.WriteXml(writer, XmlWriteMode.IgnoreSchema, false);
        return writer.ToString();
    }
}

リターンテーブルは以下のようになります

sem sub1 sub2 sub3

 1   50   40   30

 2   60   20   40

インターフェースのデザインは良いですか?私は契約を使用していません。高速化する他の方法はありますか?

DataSet をカスタム DataContract に変換して送信すると聞きました..私のシナリオでは可能ですか?

4

1 に答える 1

0

パフォーマンスの問題がある場合、投稿したコードにはありません。

データを取得するために使用するメソッドの名前は「getDataTable」で、DataSet の使用についても言及しています。

データセットの使用にはオーバーヘッドがあります。データベースからデータを取得する方法を最適化することを検討する必要があります。

于 2013-03-02T10:34:17.447 に答える