如果想讓服務端直接返回json或者xml的話,可以考慮使用webservice、wcf,或者webapi。webservice基於xml,效率較慢,wcf雖然可以返回json,但是配置繁瑣。webapi相較於前兩者而言配置簡單靈活,效率也不錯。是asp.net平臺上製作api介面的首選。 新建.ne ...
如果想讓服務端直接返回json或者xml的話,可以考慮使用webservice、wcf,或者webapi。webservice基於xml,效率較慢,wcf雖然可以返回json,但是配置繁瑣。webapi相較於前兩者而言配置簡單靈活,效率也不錯。是asp.net平臺上製作api介面的首選。
新建.net framework web應用程式,模板選擇webapi,預設模板已經替你完成了大部分的配置,直接運行程式並瀏覽器訪問預設控制器ValuesController,既/api/values即可看到效果。webapi的訪問路由配置文件位於app_start文件夾下,配置方法與mvc路由差別不大。
如果想要將預設返回的xml格式不滿意,想改成json格式的話,可以在global文件的Application_Start方法里添加:
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
這樣返回的數據就會被格式化為json而不是xml了。
但是這時使用的序列化方法是系統自帶的,如果想要自定義,可以在控制器里直接返回HttpResponseMessage類,不過HttpResponseMessage需要自己構建。
[AcceptVerbs("get", "post")] //配置接受的請求類型。 public HttpResponseMessage Demo() { string jsonStr = JsonConvert.SerializeObject(new {Id = 10, Name ="ka"}); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(jsonStr,Encoding.GetEncoding("UTF-8"), "application/json")}; return result; }
訪問Demo方法即可看到結果。
參考博文:https://www.cnblogs.com/elvinle/p/6252065.html