C# Webservice在一行上返回所有数据

C# Webservice在一行上返回所有数据,c#,asmx,C#,Asmx,所以我有一个基本的web服务,它从MSSQL数据库中获取数据。它在SQL连接和查询方面的工作方式与预期相同,但是,我想知道是否有可能让数据显示得更优雅一些。我的目标是在每行返回一个名称,但web服务只是在字符串标记和一行上的所有标记之间吐出所有名称。我对C和ASP.NET非常陌生,我很惊讶我能做到这一点。如果可能的话,我只需要以一种更令人愉快的方式格式化数据 这是我的密码 namespace CustomerService { /// <summary> /// Su

所以我有一个基本的web服务,它从MSSQL数据库中获取数据。它在SQL连接和查询方面的工作方式与预期相同,但是,我想知道是否有可能让数据显示得更优雅一些。我的目标是在每行返回一个名称,但web服务只是在字符串标记和一行上的所有标记之间吐出所有名称。我对C和ASP.NET非常陌生,我很惊讶我能做到这一点。如果可能的话,我只需要以一种更令人愉快的方式格式化数据

这是我的密码

namespace CustomerService
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX,  uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {


    [WebMethod]
    //create new webMethod to get names
    public string getNames()
    {
        int size = DataHelper.name().Count();
        string[] names = new string[size];
        names = DataHelper.name();

        return toString(names);
    }

    //take array passed in and convert to one single string
    public string toString(string[] names)
    {
        int size = names.Count();
        string[] nameArray = new string[size];
        nameArray = names;
        string output = "";

        for (int x = 0; x < size; x++)
        {
            output = output + "\n" + nameArray[x];
        }

        return output;

    }
}
}
这是最终的结果:

<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://tempuri.org/"> Stephen lisa steve kyle s Lisa steven Customer   chelsea jon karen jessica meagan </string>

我想在每个名字后面加一行新词……这可能吗?

创建一个类并返回该类

PUBLIC Class MyOldStringNames
{
   property string NameHolder { get; set; }
}
End Class

List<MyOldStringNames> myListOfOldStringNames = new List<MyOldStringNames>();
For Each item in names 
   MyOldStringNames myItemToAdd = new MyOldStringNames() { NameHolder = item.toString() };
   myListOfOldStringNames.add(myItemToAdd);
End

return myListOfOldStringNames;
当然,你的方法是这样的:

public List<MyOldStringNames> getNames()
    {
        int size = DataHelper.name().Count();
        string[] names = new string[size];
        names = DataHelper.name();

        //Do stuff above

        //return data as shown above;
    }

XML不支持空白。除了xml:space,为什么不返回集合?!这很明显。在这里,人们如何归还收藏品呢。抱歉…再一次,我是个新手。假设您想要的不是XML,您是如何向查看者/用户呈现结果的?ASMX是一种遗留技术,不应用于新的开发。WCF或ASP.NET Web API应用于Web服务客户端和服务器的所有新开发。一个提示:微软已经取消了MSDN上的。这是VB的类声明吗?我在寻找C语言中的等价物。当我试图用C语言创建那个类时,它不会编译。下面是我在C中所做的:公共类MyOldStringNames{stringnameholder{get;set;}}}我只是动态编写的,它缺少括号,我已经添加了很多个括号!我几乎做到了,但是我得到了一个错误:不一致的可访问性:返回类型“System.Collections.Generic.List”比方法“CustomerService.Service1.getnames抱歉已将类声明为如上所示的公共类。是的,抱歉…我最初尝试过,但它不起作用,所以我继续并发布了该注释,但后来我我意识到VisualStudio很笨,我需要清理项目以消除错误。非常感谢!这正是我想要的
public List<MyOldStringNames> getNames()
    {
        int size = DataHelper.name().Count();
        string[] names = new string[size];
        names = DataHelper.name();

        //Do stuff above

        //return data as shown above;
    }