如何操作WCF服务结果

本文关键字:WCF 服务 结果 操作 何操作 | 更新日期: 2023-09-27 18:21:59

我有一个使用VS AppBuilder扩展开发的剑道移动应用程序。我已经创建了一个WCF服务。我正在使用此服务将数据与剑道图绑定。这是我的WCF服务代码。

 public List<object> ProductCount(int week, int year)
    {
        List<object> lst = new List<object>();
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        SqlConnection con = new SqlConnection(connString);
        var currentCulture = CultureInfo.CurrentCulture;
        var weekNo = currentCulture.Calendar.GetWeekOfYear(
                        DateTime.Now.Date,
                        currentCulture.DateTimeFormat.CalendarWeekRule,
                        currentCulture.DateTimeFormat.FirstDayOfWeek);
        try
        {
            SqlCommand cmd = new SqlCommand("Select * from Products where Week_Number =" + week_No);
            cmd.CommandType = CommandType.Text;
            cmd.Connection = con;
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                lst.Add(dr["Quantity"].ToString());
            }
            int current = lst.Sum(x => Convert.ToInt32(x)); //result is 5000
            int goal = 10000;
            lst.Clear();
            dt.Clear();
            lst.Add("current:" + current);
            lst.Add("target:" + goal);
        }
        catch (Exception ex)
        {
            // new Error(ex);
        }
        finally
        {
            con.Close();
        }
        return lst;
    }

此代码返回的结果如下,["当前:5000","目标:10000"]

但我想要这样的结果,[{"当前":5000,"目标":10000}]

我该怎么做?

如何操作WCF服务结果

您尝试过吗:

lst.Add(new {
    current = current,
    target = goal
});

而不是:

lst.Add("current:" + current);
lst.Add("target:" + goal);

这将向数组中添加一个具有currenttarget属性的对象。