惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Troy Hunt's Blog
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
B
Blog RSS Feed
S
Securelist
H
Help Net Security
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Secure Thoughts
Spread Privacy
Spread Privacy
C
Check Point Blog
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
L
Lohrmann on Cybersecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
N
News and Events Feed by Topic
Blog — PlanetScale
Blog — PlanetScale
PCI Perspectives
PCI Perspectives
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Cyber Attacks, Cyber Crime and Cyber Security
Google Online Security Blog
Google Online Security Blog
The Hacker News
The Hacker News
宝玉的分享
宝玉的分享
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cisco Blogs
Last Week in AI
Last Week in AI
Webroot Blog
Webroot Blog
GbyAI
GbyAI
I
InfoQ
罗磊的独立博客
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
Latest news
Latest news
P
Palo Alto Networks Blog
博客园 - Franky
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
H
Hacker News: Front Page
P
Privacy & Cybersecurity Law Blog
小众软件
小众软件
The Register - Security
The Register - Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
V
Vulnerabilities – Threatpost
人人都是产品经理
人人都是产品经理
博客园_首页
aimingoo的专栏
aimingoo的专栏

博客园 - 秋天

sqlserver触发器 ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS) URL地址中使用中文作为的参数【转】 百度地图API操作 js中对String去空格 [ASP.Net ]利用ashx搭建简易接口 使用RMS API 自定义Office(Word、Excel、PPT)加密策略 C#Excel文件加密实现,支持xlsx、docx、pptx(C#\Net\Asp.Net) - 秋天 - 博客园 使用vs2015搭建Asp.net Core 千万级规模高性能、高并发的网络架构经验分享 ASP.NET MVC学习系列(二)-WebAPI请求 浅谈HTTP中Get与Post的区别 .net下web页生产一维条形码 微软源代码管理工具TFS2013安装与使用详细图文教程(Vs2013) Nginx搭建反向代理服务器过程详解 windows下安装nginx 我的架构设计~用层关系图说说mvc,mvvm,soa,ddd Ajax中Get请求与Post请求的区别 将String转化成Stream,将Stream转换成String
ASP.NET MVC学习系列(一)-WebAPI初探
秋天 · 2017-03-23 · via 博客园 - 秋天

文章转载:http://www.cnblogs.com/babycool/p/3861277.html,用于学习和记录。

  由于即将要接手的新项目计划用ASP.NET MVC3来开发,所以最近一段时间一直在看相关的书或文章。因为之前在大学里也曾学习过MVC2开发,也做过几个简单的MVC2的小型测试项目,不过在后来工作以后主要还是开发WebForm的项目,所以MVC的东西也就逐渐的淡忘了。

  经过这一段时间的系统学习,真的觉得MVC3相比于之前的MVC2还有WebForm来说,确实有一种让人欲罢不能爽歪歪的感觉。特别是Razor语法、Linq表达式等的结合运用。

  为了将学习过程中遇到的一些值得留意的问题和知识点进行一个很好地整理,所以打算把对MVC的学习过程整理成一个文章系列,同时也希望能帮助那些初学ASP.NET MVC的童鞋们。可能文章的风格不会像其他文章那样讲的很深,主要还是通过实例来表达吧。由于自己也是初学,文章中难免有错误,也希望各位高手能够多多指教,大家共同学习。

  好了,废话不多说,进入正题。

  个人觉得在MVC中,路由规则算是比较重要的一点。记得之前曾看过dudu站长的一篇文章 HttpClient + ASP.NET Web API, WCF之外的另一个选择 ,对于用惯了“html+ajax+一般处理程序” 来开发项目的我来说,觉得这应该算是另一种更加高端的处理数据请求的方式吧,所以,今天我们就从这种“精简版的WebAPI” 开始说起。

  首先,先创建一个“ASP.NET 空Web应用程序” :

  然后添加对 “System.Web.Http” 和 “System.Web.Http.WebHost” 的引用:

  再添加对“System.Net.Http” 的引用:

  由于需要用到对Json数据的处理,所以还要添加对 “Newtonsoft.Json” 的引用。

这里需要注意一下:

如果开始不添加对“Newtonsoft.Json”的引用,在项目运行时就会报错,具体报错原因稍后再说。

  对四个类库的引用:

  然后新建一个类,用于注册默认路由映射,这里类名为 WebAPIConfig :

  添加Global.asax文件,在 Application_Start 方法中 初始化路由映射:

        protected void Application_Start(object sender, EventArgs e)
        {
            //在应用程序启动时注册路由映射
            WebAPIConfig.Register(GlobalConfiguration.Configuration);
        }

  记得引入命名空间:

  注意:

上面我们提到,如果开始时不引用 “Newtonsoft.Json”,那么在运行时 注册路由映射这里就会报错:

 创建名为Controller的文件夹,然后添加一个类且类名以 Controller结尾,这里为UserController 。让这个类继承自 ApiController 基类:

  创建名为Model的文件夹用来存放实体类,添加Users类:

  在 UserController 类中,添加一个 GetUser() 方法,模拟一些数据:

复制代码

//引入命名空间
using System.Web.Http;
using X_1_FirstWebAPI.Model;

namespace X_1_FirstWebAPI.Controller
{
    public class UserController : ApiController
    {

        public List<Users> GetUser()
        {
            var userList = new List<Users> { 
            new Users{ Id=1,UName="张三",UAge=12,UAddress="海淀区"},
            new Users{Id=2,UName="李四",UAge=23,UAddress="昌平区"},
            new Users{Id=3,UName="王五",UAge=34,UAddress="朝阳区"}
            };

            var temp = (from u in userList
                        select u).ToList();
            return temp;
        }

    }
}

复制代码

  我们之前添加的路由规则为 "api/{controller}/{action}/{id}" ,所以,我们在浏览器中访问数据的url为 http://localhost:****/api/controllerName/actionName  的形式,在这里即是 api/user/getuser :

  OK,到这里,精简版的WebAPI项目就完成了,这个应该对于大部分.NET程序员来说理解起来是很简单的。

那下一篇文章我们就深入地来聊一聊如何调用WebAPI请求后台数据吧!