Winform简单调用WebApi

WebAPI  Controllers

   public class SimuController : ApiController
    {     
        //EF 5
        BIM_GENERALDICTONARY_DBEntities entities=new BIM_GENERALDICTONARY_DBEntities(); 
        
        // GET api/Simu
        public IEnumerable<T_BIM_PropityClass> Get()
        {
            return entities.T_BIM_PropityClass;
        }
    }

WinForm Client

     static readonly Uri _baseAddress = new Uri("http://localhost:5373/");
        static readonly Uri _address = new Uri(_baseAddress, "/api/simu");
        private void button1_Click(object sender, EventArgs e)
        {

            WebClient webClient = new WebClient();
            webClient.Headers["Accept"] = "application/json";
            webClient.Encoding = Encoding.UTF8;webClient.DownloadStringCompleted += (send, es) =>
                {
                 if (es.Result != null)
                 {
                     var test = JsonConvert.DeserializeObject<T_BIM_PropityClass[]>(es.Result);
                     if (test.Any())
                     {
                         gridControl1.DataSource = test;}
                 }
                 else
                 {
                     MessageBox.Show(es.Error.Message);
                 }
                };
            webClient.DownloadStringAsync(_address);

        }

 

//将Json字符串转换为 对像   
public static T Deserialize<T>(string json) { JavaScriptSerializer Serializer = new JavaScriptSerializer(); T objs = Serializer.Deserialize<T>(json); return objs; }

 

posted @ 2014-08-15 00:28  在 水 一 方  阅读(24649)  评论(0编辑  收藏  举报