[英]Sending an ArrayList from a Server to a Client Application
我在C#中具有以下服务器应用程序
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string function = context.Request.QueryString["function"];
Methods m = new Methods();
if (function.Equals("GetAllCreditCards"))
{
ArrayList text = m.GetAllCreditCards();
context.Response.Write(text);
}
}
基本上,当调用GetAllCreditCards方法时,它将使用数据库中的数据填充一个数组列表。 我对方法进行了很好的检查,并且效果很好。
我有一个将ArrayList文本发送到的客户端应用程序:
public String returnResponse(HttpWebResponse response)
{
StreamReader stream = new StreamReader(response.GetResponseStream());
String answer = stream.ReadToEnd();
return answer;
}
if (TextBox_Function.Text.Equals("GetAllCreditCards"))
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:4000/Handler.ashx?function=" + TextBox_Function.Text);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String answer = returnResponse(response);
Session["answer"] = answer;
Response.Redirect("Results.aspx");
}
现在,如何修改客户端代码,以便从HttpWebResponse中提取ArrayList? 我目前处于学习阶段,请耐心等待。 谢谢。
答案字符串的内容当前为:
System.Collections.ArrayList
您应该以某种方式序列化您的返回值。 例如,
context.Response.Write(new new JavaScriptSerializer().Serialize(text));
您还可以使用其他序列化器,例如:XmlSerializer,DataContractSerializer等。
但是正如我在您先前的问题中评论的那样。 有更好的方法来编写RESTful服务(WCF,WebService MVC等)。 您不需要重新发明轮子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.