WebApiSelfHost
class Program { static void Main(string[] args) { var config = new HttpSelfHostConfiguration("http://localhost:8080"); config.Routes.MapHttpRoute("API Default", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional }); using (var server = new HttpSelfHostServer(config)) { server.OpenAsync().Wait(); Console.WriteLine("Press Enter to quit."); Console.ReadLine(); server.CloseAsync().Wait(); } } }
在程序包管理器控制台执行:
1、PM> Install-Package Microsoft.AspNet.WebApi.SelfHost.zh-Hans
2、PM> Install-Package Microsoft.AspNet.WebApi.Cors.zh-Hans
public class AreaController : ApiController { BLL.AreaBLL bll = new BLL.AreaBLL(); public HttpResponseMessage GetAreaList() { List<Model.AreaModel> areaList = bll.GetList(); string json = JsonConvert.SerializeObject(areaList); HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(json, Encoding.GetEncoding("UTF-8"), "application/json") }; return result; } }
public async void PostAddAreaInfo() { HttpContent content = this.Request.Content; content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); JObject jsonValue = await content.ReadAsAsync<JObject>(); Model.AreaModel area = new Model.AreaModel { AreaNo = ((string)jsonValue["AreaNo"]) ?? string.Empty, AreaName = ((string)jsonValue["AreaName"]) ?? string.Empty, AreaLevel = (jsonValue["AreaLevel"] == null) ? 0 : ((int)jsonValue["AreaLevel"]), AreaLevelName = ((string)jsonValue["AreaLevelName"]) ?? string.Empty, FatherAreaNo = ((string)jsonValue["FatherAreaNo"]) ?? string.Empty, Remark = ((string)jsonValue["Remark"]) ?? string.Empty }; bll.Add(area); }