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