向HelloWebAPI发送GET请求!从Metro App内部

时间:2012-06-17 05:41:49

标签: c# .net http microsoft-metro asp.net-web-api

我一直在http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api上关注该教程并设置了一个Windows Azure帐户并进行了部署,一切都运行良好。

但该教程的下半部分提供了一种使用jQuery / AJAX从API获取数据的方法,但我需要从Windows Metro App(C#)中获取API数据。

我无法在Metro风格的应用程序中找到任何来自WebAPI的POST [ing]和GET [ing]数据的教程或文档。

您知道的任何tuts,文档或样本或文章是否有帮助?

谢谢!

1 个答案:

答案 0 :(得分:1)

在metro应用程序中,您可以使用HttpClient类来调用Web API上的方法。关于它的http://blogs.msdn.com/b/henrikn/archive/2012/02/16/httpclient-is-here.aspx有一个很好的帖子,这是一个简单的用法

namespace HelloWebAPI.Models 
{ 
    public class Product 
    { 
        public int Id { get; set; } 
        public string Name { get; set; } 
        public string Category { get; set; } 
        public decimal Price { get; set; } 
    } 
}

namespace MyClient
{
    public partial class MainPage
    {
        //...
        public async void Button_Click(object sender, RoutedEventArgs e)
        {
            var c = new HttpClient();
            var resp = await c.GetAsync("http://localhost:xxxx/api/products");
            var prod = await resp.Content.ReadAsAsync<Product>();
            // ...
        }
    }
}