1.1 .1 WebAPI构建解决方案

     为了让读者先对ASP.NET Web Api 有一个感性的认知,我们手动创建一个 Web API程序

    

    创建一个空的项目,然后添加一下内容:

    Common::空的类库项目。

    Webapi:空的ASP.NET Web 应用,引用Common

    WebHost:空的ASP.NET Web 应用,它实现了针对ASP.NET Web api的Web Host寄宿,引用webapi

    SelHosst:空的控制台应用,它实现了针对ASP.NET Web api的Self Host寄宿,引用webapi

    WebApp:空的ASP.NET Web 应用,重要用于ajax实现调用webapi

    ConsoleApp:空的控制台应用,主要用于模拟客户端代理实现webapi远程调用

在Common创建Contact和Information

public class Contact
    {
        /// <summary>
        /// ID
        /// </summary>
        public string ID { get; set; }
        /// <summary>
        /// 姓名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 联系电话
        /// </summary>
        public string PhoneNo { get; set; }
        /// <summary>
        /// 电子邮箱
        /// </summary>
        public string EmailAddress { get; set; }
        /// <summary>
        /// 联系地址
        /// </summary>
        public string Address { get; set; }
        /// <summary>
        /// 资料
        /// </summary>
        public List<Information> lisInfo { get; set; }
    }

    public class Information
    {
        public string Education { get; set; }
    }

    

  Webapi引入程序集System.Web.Http,并创建ContactsController

  我们定义了Get,Post,Put,Delete这4个Action方法

    public class ContactsController : ApiController
    {
        static List<Contact> contacts;

        static ContactsController()
        {
            contacts = new List<Contact>() {
                new Contact { ID = "001", Name = "张三", PhoneNo = "15811100056", EmailAddress = "zhangsanemail@163.com", Address = "北京市", lisInfo = new List<Information>() { new Information { Education = "小学" }, new Information { Education = "中学" } } },
                new Contact { ID = "002", Name = "李四", PhoneNo = "0474-577466", EmailAddress = "lisiemail@163.com", Address = "内蒙古", lisInfo = new List<Information>() { new Information { Education = "高中" }, new Information { Education = "大学" } } }
            };
        }

        public IEnumerable<Contact> Get(string id = null)
        {
            return from contact in contacts
                   where contact.ID == id || string.IsNullOrEmpty(id)
                   select contact;
        }

        public void Post(Contact contact)
        {
            contact.ID = "003";
            contacts.Add(contact);
        }


        public void Put(Contact contact)
        {
            contacts.Remove(contacts.First(C => C.ID == contact.ID));
            contacts.Add(contact);
        }


        public void Delete(string id)
        {
            contacts.Remove(contacts.First(C => C.ID == id));
        }
    }
原文地址:https://www.cnblogs.com/fenger-VIP/p/6677725.html