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