2012-09-09 87 views
0

我有以下情形的行動內容。得到控制asp.net的MVC

我有web服務區和 2控制器

  1. 用戶控制器 - 有[HTTPPost]歸因命名動作GetUserProfile(string tokenkey)返回一些JSON
  2. TestWebService控制器 - 已經行動命名爲GetUserProfile(string tokenkey) *同

現在我想從TestWebService控制器調用User->GetUserProfile,我想在使用JSON結果在我的行動控制器

*注意:爲了讓更多的理解: - TestWebService控制器是用於測試web服務和我使用ASP.net MVC 4

RedirectToAction對我來說並不實用,因爲我想要得到的結果,並張貼了。

是否有任何其他想法,或者我會走錯路,

***請編輯我的問題的標題,如果有人找到正確的

+0

你能說清楚你想要得到它呢? –

回答

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; 
    } 

    .... 
}