首页 > 技术文章 > WebApiSelfHost

xinzheng 2015-12-12 09:57 原文

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

 

推荐阅读