我正在从控制台应用程序调用 MVC3 控制器操作 (JsonResult)。为了拨打电话,我使用了 System.Net.Http.HttpClient 和 PostAsJsonAsync 方法。
在 PostAsJsonAsync 方法中,我传递了一个小的 poco 实例。
除了一件事之外,这一切都很好。
我的问题是我无法在对 MVC3 控制器操作的调用中获取 poco 实例。 谁能告诉我该怎么做?
这是代码:
在控制台应用程序中调用代码:
var client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:50285/");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var user = new HashedUser { UserName = "userName", PasswordHash = "abcdef".GetHashCode() };
var response = client.PostAsJsonAsync("app/test", user).Result;
var txt = response.Content.ReadAsAsync<string>().Result;
在 MVC3 项目中接收代码
public class AppController : Controller
{
public JsonResult Test(HashedUser json)
{
// Problem: json is always a new instance
// of HashedUser and not the one passed in
// from the call to this controller action.
return Json("qqq ppp 777 888" + json.UserName);
}
}
public class HashedUser
{
public string UserName { get; set; }
public int PasswordHash { get; set; }
}