Winform简单调用WebApi

本文介绍了一个使用WebAPI的控制器SimuController,通过Entity Framework(EF5)与数据库进行交互,提供GET请求获取T_BIM_PropityClass数据。同时展示了WinForm客户端如何通过WebClient下载JSON数据并将其解析为T_BIM_PropityClass对象数组,最后展示在gridControl1中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值