Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C#Windows应用程序发布到ASP MVC 4站点_C#_.net_Asp.net Mvc - Fatal编程技术网

从C#Windows应用程序发布到ASP MVC 4站点

从C#Windows应用程序发布到ASP MVC 4站点,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,我正在编写一个与ASP MVC站点通信的Windows应用程序 该站点有一个用于POST请求的控制器方法,该方法将我的模型中的一个对象传递给它 我可以访问桌面应用程序中的这些类,并希望能够创建相同类型的对象,然后创建HTTP POST请求,附加对象并将其发送到站点 我发现POST数据只是与类的属性相匹配的键值对,因此Property1=value1&Property2=value2起作用,但如何表示列表却让我感到困惑 是否有一些简单的方法可以将对象序列化为HTTP请求,或者我必须对列表中的每个项

我正在编写一个与ASP MVC站点通信的Windows应用程序

该站点有一个用于POST请求的控制器方法,该方法将我的模型中的一个对象传递给它

我可以访问桌面应用程序中的这些类,并希望能够创建相同类型的对象,然后创建HTTP POST请求,附加对象并将其发送到站点

我发现POST数据只是与类的属性相匹配的键值对,因此Property1=value1&Property2=value2起作用,但如何表示列表却让我感到困惑


是否有一些简单的方法可以将对象序列化为HTTP请求,或者我必须对列表中的每个项目发出多个请求?

您可以使用WebClient来实现这种行为

string url = "your POST action url here";
NameValueCollection formData = new NameValueCollection();
formData["name"] = "John";
// add more form field / values here

WebClient webClient = new WebClient();
byte[] responseBytes = webClient.UploadValues(url, "POST", formData);
string response = Encoding.UTF8.GetString(responseBytes);

然而,这不是一个好的做法。这种通信应该通过web服务来实现——如果你的应用程序设计得很好(例如你有服务层/存储库),没有什么比与MVC前端并排公开简单的web服务更容易的了。

我正在制作一个web服务。web服务返回JSON对象,这些对象被反序列化为我的应用程序中的对象。我的问题是将对象序列化为POST数据,其中包含从应用程序发送到web服务的列表。您使用什么技术来构建它,而您必须与序列化进行斗争?你为什么不使用WCF,让它为你处理这些低级的东西呢?