将数据从非Web客户端发送到MVC 3应用程序的推荐方法是什么?

时间:2011-03-07 23:08:12

标签: asp.net-mvc asp.net-mvc-3

我想使用java客户端将数据发送到我的MVC 3应用程序。信息只会是一堆字符串,如用户名,密码哈希等。

我在考虑将base64 + url编码为一个简单的XML结构,并使用Url将其从我的客户端发送到我的MVC应用程序,如下所示:

myapp.com/Post/Add/{endcoded string goes here}

这可能会运行得很好但是将数据传递到MVC应用程序的最佳方法是什么?

感谢。

1 个答案:

答案 0 :(得分:4)

我建议你使用标准的HTTP协议。例如,内容类型为application/x-www-form-urlencoded的POST动词效果很好,或者您甚至可以使用multipart/form-data

在ASP.NET MVC方面,您将拥有一个接受视图模型的控制器操作:

[HttpPost]
public ActionResult Foo(MyViewModel model)
{
    ...    
}

最后,您将编写一个自定义模型绑定器,它将从请求中读取XML并将其反序列化回您的视图模型。

我建议您尽可能避免自定义内容,方法和协议重新发明(例如参数的base64编码)。

就客户端而言,我的上一次Java体验可以追溯到2003年,因此我无法准确地告诉您如何创建HTTP Java客户端,但我不仅仅相信它应该是easy task