如果我有一个类似这样的网页,
protected void Page_Load(object sender, EventArgs e)
{
List<string> items = new List<string>()
{
"test1",
"test2",
"test3"
};
Response.Write(items);
}
Run Code Online (Sandbox Code Playgroud)
如何让List在另一端退出,例如我在另一端有一些代码,如下所示,
static void Main(string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:50513/Default.aspx");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
}
Run Code Online (Sandbox Code Playgroud)
我如何实际将列表拉回来?
我必须使用asp .net页面,因为我必须使用第三方API的限制.
为了更多地扩展Joe的答案,最好的办法是使用JSON.NET来序列化和反序列化列表.由于Web只能来回发送字符串,因此JSON非常适合通过Web发送对象.您可以像这样序列化列表(使用JSON.NET):
List<string> items = new List<string>()
{
"test1",
"test2",
"test3"
};
var json = JsonConvert.SerializeObject(items);
Response.Write(json);
Run Code Online (Sandbox Code Playgroud)
这将写入响应:
["test1", "test2", "test3"]
Run Code Online (Sandbox Code Playgroud)
在接收端,使用:
var list = JsonConvert.DeserializeObject<List<string>>(json);
Run Code Online (Sandbox Code Playgroud)
你会得到原来的清单.至于图标,如果您无法传递链接并且实际上需要传递图标本身,您可以将文件序列化为Base64编码的字符串(然后对其进行解码),或者您可以使用BSON:
http://james.newtonking.com/archive/2009/12/26/json-net-3-5-release-6-binary-json-bson-support.aspx
我自己没有这样做,所以我不能提供一个例子,对不起.