在上一篇里,我已经建立了一个简单的Web-Demo应用程序.这一篇将记录将此Demo程序改造成一个Web Api应用程序. 一.添加ASP.NET Core MVC包 1. 在project.json文件添加Microsoft.AspNetCore.Mvc包 { "version": "1.0.0-*", "buildOptions": { "debugType": "portable", "em…
要了解程序的运行原理,就要先知道程序的进入点及生命周期.以往ASP.NET MVC的启动方式,是继承 HttpApplication 作为网站开始的进入点,而ASP.NET Core 改变了网站的启动方式,变得比较像是 Console Application. 本篇将介绍ASP.NET Core 的程序生命周期 (Application Lifetime) 及捕捉 Application 停止启动事件. 程序进入点 .NET Core 把 Web 及 Console 项目都处理成一样的启动方式,…
Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风格,让人用的爱不释手.本篇将介绍如何通过ASP.NET Core实践REST-Like API. 为什么是REST-Like 而不是 REST? 本文API设计未符合HATEOAS(Hypermedia As The Engine Of Application State)原则,所以不得称为REST…
ASP.NET Core MVC中的Views是负责网页显示,将数据一并渲染至UI包含HTML.CSS等.并能痛过Razor语法在*.cshtml中写渲染画面的程序逻辑.本篇将介绍ASP.NET Core MVC的Views. 之前 ASP.NET Core 2 学习笔记(六)MVC 有稍微介绍到Views及Controller的对应关系,这边就不重复说明. Razor 语法 ASP.NET Core MVC的Views默认是使用Razor引擎,Views的扩展名是用*.cshtml.文件内容以…
Swagger也算是行之有年的API文件生成器,只要在API上使用C#的<summary />文件注解标签,就可以产生精美的线上文件,并且对RESTful API有良好的支持.不仅支持生成文件,还支持模拟调用的交互功能,连Postman都不用打开就能测API.本篇将介绍如何通过Swagger产生ASP.NET Core的RESTful API文件. 安装套件 要在ASP.NET Core使用Swagger需要安装Swashbuckle.AspNetCore套件.通过过.NET Core CLI…
Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Middleware功能支持. 在演示Middleware功能之前,先要了解一下Asp.Net管道模型发生了什么样的变化. 第一部分:管道模型 1. Asp.Net管道 在之前的Asp.Net里,主要的管道模型流程如下图所示: 请求进入Asp.Net工作进程后,由进程创建HttpWorkRequest对象…
sql server 关于表中只增标识问题   由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错误,不能修改 set identity_insert test on  关闭标识 在添加时候 提示成功 set identity_insert 表名  on  关闭 set identity_insert 表名 off   开启 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文…
python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(age=10 * 24 * 60 * 60)def index_page(self, response): for each in response.doc('a[href^="http"]').items(): matchObj = re.match( r'(.*).html', each…
ASP.NET Core通过路由(Routing)设定,将定义的URL规则找到相对应行为:当使用者Request的URL满足特定规则条件时,则自动对应到相符合的行为处理.从ASP.NET就已经存在的架构,而且用法也很相似,只有些许的不同.本篇将介绍ASP.NET Core的Router Middleware用法. 简单路由 之前 ASP.NET Core 2 学习笔记(三)有介绍到,可以透过Map处理一些简单路由,例如: Startup.cs // ... public class Startu…
Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使用:=分割,而在python中使用in分割.而python中range是函数,不是关键字. package main import "fmt" func main() { nums := []int {10, 20, 30} sum := 0 for i, num := range num…