0

我有以下情况。

我有网络服务区和两个控制器

  1. 用户控制器 - 具有[HTTPPost]命名的属性操作GetUserProfile(string tokenkey)返回一些 JSON
  2. TestWebService 控制器 - 具有名为GetUserProfile(string tokenkey)*same的操作

现在我想User->GetUserProfileTestWebService控制器调用,我想在TestWebService控制器中的操作中使用 JSON 结果

*注意:为了更容易理解:-TestWebService控制器用于测试网络服务,我正在使用ASP.net MVC 4

RedirectToAction对我没用,因为我也想获得结果并发布。

有没有其他的想法,或者我走错路了,

***如果有人找到正确的问题,请编辑我的问题标题

4

1 回答 1

0

您可以向此控制器操作发送 HTTP 请求。这可以使用WebClient类或.NET 4.5 中引入的新HttpClient类轻松完成。

例如:

public ActionResult GetUserProfile(string tokenkey)
{
    using (var client = new HttpClient())
    {
        var requestUri = Url.Action("GetUserProfile", "User", new { area = "WebService" }, "http");
        var content = new FormUrlEncodedContent(
            new[] { new KeyValuePair<string, string>("tokenkey", tokenkey) }
        );
        var response = client.PostAsync(requestUri, content);
        response.Result.EnsureSuccessStatusCode();
        MyViewModel model = response.Result.Content.ReadAsAsync<MyViewModel>().Result;
    }

    ....
}
于 2012-09-10T07:14:18.573 回答