繁体   English   中英

将ArrayList从服务器发送到客户端应用程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM