2012-05-21 27 views
2

在另一個控制器中使用來自ActionResult的WebAPI服務的最佳方式是什麼?基本上我有一個控制器返回數據。從不同的控制器中的ActionResult消費ASP WebAPI

public class MyApiController : ApiController 
{ 
    public MyData Get() 
    { 
     //returns the data 
    } 

} 

,我想使用來自

public class MyConsumeController: Controller 
{ 

    public ActionResult MyConsumeAction() 
    { 
     var something = //Call Get inside MyApiController 
    } 
} 

任何想法,這個數據?

注:我知道如何使用HttpClient(不同的項目)或jquery(從視圖)。

+0

控制器是否在同一個應用程序?如果是的話,爲什麼不直接將'MyData Get()'提取到一個單獨的類並在兩個地方使用? – nemesv

+0

這是一個webapi服務。要調用Get(),請轉到/ api/MyApiController。 –

回答

3

您可以使用client API - HttpClient類。這裏是another sample

+1

感謝您花時間回答並提供了示例鏈接,但我知道如何使用HttpClient。我在說明中寫道(「我知道如何使用HttpClient來使用它」),我在想如果有其他方法我應該知道?如果這是最好的辦法,我會接受你的答案。 –

+0

這是最好的方法。你可以使用標準的WebClient,但你將不得不手動解析JSON和東西。所有這些都是在新的HttpClient中構建的。 –

+0

謝謝。我只是想與某人確認我正在使用的方法。 –