ASP.NET MVC的Web Api的实练
学习ASP.NET MVC一年多来,现在该学学Web Api了。API与ASP.NET MVC的Controller差不多。前者只是返回数据序列化和发送给客户端; 后者返回View或Render View。
当你在专案中创建第一个Web Api时,它会自动产生一个文档和修改了web.config。如我们先在专案下添加一个Apis目录,是用来存放api控制器的。
创建完成之后,它会显示一个txt文档:
这个readme.txt是告诉你需要修改Globel.asax文档,步骤为1,2,3:
其实它还自动产生下面这个文档,WebApiConfig.cs并放在App_Start目录之下。
另外你会发现web.config还被修改,它自动添加了一段:
下面Insus.NET创建一个model:
创建一个Entity,实体即是数据集散地,数据源于文档,数据库,xml等:
接下来,我们可以完善Api了,它有继承ApiController类。
现在我们测试一下,写好的Web Api是否能正常运行,在浏览器的地址栏上输入:
404错误,是什么情况? 经查阅资料,原来Global.asax配置有问题。因为创建第一个api时,它自动产生的WebApiConfig.cs,然后需要手动注册于Application_Start()方法内。
但是
RouteConfig.RegisterRoutes(RouteTable.Routes);
和
GlobalConfiguration.Configure(WebApiConfig.Register);
是有序次关系的。也就是说,asp.net mvc是先执行GlobalConfiguration.Configure(WebApiConfig.Register)之后,再执行RouteConfig.RegisterRoutes(RouteTable.Routes)。我们在手动注册时,就需要注意到这点。它们正确的配置如下:
如果能正常访问,它应该会显示下载状态:
一切准备就绪,我们创建一个.html网页,使用javascript或理jQuery去读取api的数据。
在专案中,新一个Orders目录,是用来存放一切与order相关.html文件。
还有jQuery代码没写呢,没有什么问题,相信不是很难,因为以前有练习无数次了:
演示:
ASP.NET MVC的Web Api的实练的更多相关文章
- vs 2013下自定义ASP.net MVC 5/Web API 2 模板(T4 视图模板/控制器模板)
vs 2013下自定义ASP.net MVC 5/Web API 2 模板(T4 视图模板/控制器模板): Customizing ASP.NET MVC 5/Web API 2 Scaffoldi ...
- ASP.NET MVC+Knockout+Web API+SignalR
架构设计(ASP.NET MVC+Knockout+Web API+SignalR) 架构设计(ASP.NET MVC+Knockout+Web API+SignalR) 2014-01-16 18: ...
- Visual Studio 2013 Preview - ASP.NET, MVC 5, Web API 2新功能搶先看
Visual Studio 2013 Preview - ASP.NET, MVC 5, Web API 2新功能搶先看 來自TechEd North America 2013的第一手消息 以下資訊均 ...
- ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用
本片文章翻译自ABP在CodeProject上的一个简单示例程序,网站上的程序是用ABP之前的版本创建的,模板创建界面及工程文档有所改变,本文基于最新的模板创建.通过这个简单的示例可以对ABP有个更深 ...
- ASP.NET MVC和Web API中的Angular2 - 第2部分
下载源码 内容 第1部分:Visual Studio 2017中的Angular2设置,基本CRUD应用程序,第三方模态弹出控件 第2部分:使用Angular2管道进行过滤/搜索,全局错误处理,调试客 ...
- [Asp.Net] MVC 和Web API Action 获取参数的区别
Asp.net MVC 和web api 的action 在获取从前台传入的数据是有很大不同 前台使用ajax的方式向后台发起post的请求 Content-Type:application/json ...
- Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案(转)
前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件 ...
- Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说 ...
- 转-Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说 ...
随机推荐
- 网络热恋之NSURLSession
// // ViewController.m // NSURLSession代理简介 #import "ViewController.h" @interface ViewContr ...
- java中实现线程同步
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他 ...
- Helpful Tool
Remote Connectivity Analyzer(Online) https://testconnectivity.microsoft.com/ https://technet.microso ...
- mysql执行计划
烂sql不仅直接影响sql的响应时间,更影响db的性能,导致其它正常的sql响应时间变长.如何写好sql,学会看执行计划至关重要.下面我简单讲讲mysql的执行计划,只列出了一些常见的情况, ...
- php框架laravel:数据库建立:artisan
aravel 迁移是一种数据库的版本控制.迁移通常和 结构生成器 配对使用来管理您应用程序的数据库结构. 配置数据库 我们安装wamp,并且使用mysql方式.用wamp自带的phpMyAdmin添加 ...
- Visual Studio 2012中文旗舰版(序列号和下载地址)
序列号:YKCW6-BPFPF-BT8C9-7DCTH-QXGWC 链接: http://pan.baidu.com/s/1pLGhDjl 密码: 3udq
- 0003 64位Oracle11gR2不能运行SQL Developer的解决方法
"应用程序开发"下的"SQL Developer"双击不可用,出现“Windows正在查找SQLDEVELOPER.BAT"的提示,如下图: 搜索博客 ...
- SQLServer查询锁表
查看被锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys. ...
- jqGrid 学习笔记--数据异步加载方法(转)
var commonQuery = '../importantInfoReport/pageQueryImportantInfoReport.action?type=0'; jQuery(" ...
- spring之依赖注入