我的webservice中的WebMethod应该返回一个数据集,然后返回一个数组?

时间:2018-04-21 23:37:49

标签: c# asp.net web-services web data-binding

Screenshots Of The Code

    [WebMethod]
    public DataSet GetPopularFlavors()
    {            
        return Helper.PopularItems();
    }

    localhost.Statistics s = new localhost.Statistics();
    topItems.DataSource = s.GetPopularFlavors();

只是为了记录,我有点新意,所以我真的很抱歉,如果我做的事情显然是错误的......

1 个答案:

答案 0 :(得分:0)

默认情况下,Web服务返回json(“stringed”对象)。如果指定,它们也可以返回XML。 DataSet很复杂,应该分解成表格,或者更小的东西,可以通过任何系统轻松检索和处理

Scott Hanselman's rant.

你可能会在你的类中添加Serializable属性(?不确定),或者在返回之前序列化方法中的DataSet。

[Serializable]
public class MyClass...

使用JSON.NET(帮助程序库)完成工作,然后返回结果。

JsonConvert.SerializeObject(tbl);

最好先创建一个更简单的对象并返回它。

所以,我认为你得到一个数组,因为web服务必须将对象转换为可以通过http返回的东西,并且它不能返回本机.NET对象,如DataSet或DataTable,不先进行转换。