Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 适用于Windows Phone和网站的API(服务)_Asp.net_Wcf_Web Services_Windows Phone 7_Windows Phone 7.1 - Fatal编程技术网

Asp.net 适用于Windows Phone和网站的API(服务)

Asp.net 适用于Windows Phone和网站的API(服务),asp.net,wcf,web-services,windows-phone-7,windows-phone-7.1,Asp.net,Wcf,Web Services,Windows Phone 7,Windows Phone 7.1,我(在最后一个阶段)创建了一个需要数据库通信的ASP.NET网站,所以我们创建了WCF服务来连接数据库。如果有Select语句,这些服务将返回DataTable 服务很好,网站也很好 在创建API时,我不知道windows phone sdk不支持数据表 我读了一些关于Windows Phone SDK不支持DataTable的文章,在我的Visual Studio中检查了System.Data名称空间中没有名为DataTable的类 我不熟悉Windows Phone 但现在我们想创建一个WI

我(在最后一个阶段)创建了一个需要数据库通信的ASP.NET网站,所以我们创建了WCF服务来连接数据库。如果有Select语句,这些服务将返回DataTable

服务很好,网站也很好

在创建API时,我不知道windows phone sdk不支持数据表

我读了一些关于Windows Phone SDK不支持DataTable的文章,在我的Visual Studio中检查了
System.Data
名称空间中没有名为DataTable的类

我不熟悉Windows Phone

但现在我们想创建一个WINDOWS PHONE应用程序,它也可以和网站一样工作,所以我们想使用现有的API(WCF服务)

有没有办法完成这项任务
大多数方法返回类型为DataTable

我们不想创建两个API(表示服务)。我该怎么办

如何创建适用于Windows Phone和网站的服务

我们已经准备好更改API,并根据该API准备好更新网站了吗


谢谢

我不知道为什么要使用datatable。你是说数据集吗

它们都是隐藏的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);
    }

只是将API更改为返回
,而不是
数据表

 System.IO.StringWriter reader = new System.IO.StringWriter();
 dt.WriteXml(reader, XmlWriteMode.WriteSchema);//dt is datatable
 return reader;
    StringReader xmlReader = new StringReader(stream);
    DataTable dt = new DataTable();
    dt.ReadXml(xmlReader);
在网站的小改动中,读取流并将其分配给
datatable

 System.IO.StringWriter reader = new System.IO.StringWriter();
 dt.WriteXml(reader, XmlWriteMode.WriteSchema);//dt is datatable
 return reader;
    StringReader xmlReader = new StringReader(stream);
    DataTable dt = new DataTable();
    dt.ReadXml(xmlReader);
更新: 这种方法是不可取的(这是我的第一个web服务应用程序),我建议使用JSON/XML响应(返回
DTO
),而不是返回
DataTable

下面的链接可能会让您走上正确的方向