Asp.net mvc 创建RESTful体系结构以使用JSON在ASP.NET web应用程序和MVC 3应用程序之间进行通信
我需要从我的asp.net web应用中获取GET字段(名字和姓氏)。它需要使用JSON将数据从前端(asp.net web应用程序)发送到MVC 3应用程序。MVC 3应用程序将与数据库通信,检索值,并将它们序列化为json对象并发布到前端(ASP.NET web应用程序)。有人能用一个示例代码解释一下我是如何做到这一点的吗?您可以使用这个类。它允许您向任何web应用程序发送HTTP请求。就JSON部分而言,您需要一个JSON序列化程序。您可以使用内置类或第三方,例如 因此,假设您的ASP.NET MVC 3应用程序中有以下要调用的控制器操作:Asp.net mvc 创建RESTful体系结构以使用JSON在ASP.NET web应用程序和MVC 3应用程序之间进行通信,asp.net-mvc,asp.net-mvc-3,rest,Asp.net Mvc,Asp.net Mvc 3,Rest,我需要从我的asp.net web应用中获取GET字段(名字和姓氏)。它需要使用JSON将数据从前端(asp.net web应用程序)发送到MVC 3应用程序。MVC 3应用程序将与数据库通信,检索值,并将它们序列化为json对象并发布到前端(ASP.NET web应用程序)。有人能用一个示例代码解释一下我是如何做到这一点的吗?您可以使用这个类。它允许您向任何web应用程序发送HTTP请求。就JSON部分而言,您需要一个JSON序列化程序。您可以使用内置类或第三方,例如 因此,假设您的ASP.N
[HttpPost]
public ActionResult Foo(Bar bar)
{
...
return Json(new
{
status = "OK"
});
}
其中Bar
类包含一些属性(可以是简单类型或复杂类型):
现在,您可以从客户端这样调用它:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(new
{
firstName = "first",
lastName = "last"
});
var resultJson = client.UploadString("http://example.com/foo", json);
var result = serializer.Deserialize<Result>(resultJson);
}
非常感谢你给我一个清晰的想法。我已经完成了您提供的步骤,但是当我同时运行MVC应用程序和客户端时,它会在这一行(client.Uploadstring(“)抛出404 Not Found错误。你知道为什么会发生这种情况吗?@Krishh,也许你没有配置你的asp.net mvc应用程序,使其响应
/foo
。这完全取决于你的路由设置。你可能还需要指定一个控制器名称:/home/foo
。我想这是我犯的错误。哇,它成功了。非常感谢你的解释我把过程讲得很清楚,谢谢
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(new
{
firstName = "first",
lastName = "last"
});
var resultJson = client.UploadString("http://example.com/foo", json);
var result = serializer.Deserialize<Result>(resultJson);
}
public class Result
{
public string Status { get; set; }
}