温故知新,使用ASP.NET Core创建Web API,永远第一次

ASP.NET Core简介
ASP.NET Core是一个跨平台的高性能开源框架,用于生成启用云且连接Internet的新式应用。 使用ASP.NET Core,您可以:
- 生成Web应用和服务、物联网(IoT)应用和移动后端。
- 在Windows、macOS和Linux上使用喜爱的开发工具。
- 部署到云或本地。
- 在.NET Core上运行。
为何选择ASP.NET Core?
数百万开发人员在使用或使用过ASP.NET 4.x创建Web应用。ASP.NET Core是对ASP.NET 4.x的重新设计,其中包括体系结构上的更改,产生了更精简、更模块化的框架。
ASP.NET Core 具有如下优点:
- 生成Web UI和Web API的统一场景。
- 针对可测试性进行构建。
- Razor Pages可以使基于页面的编码方式更简单高效。
- Blazor允许在浏览器中使用C#和JavaScript。 共享全部使用.NET编写的服务器端和客户端应用逻辑。
- 能够在Windows、macOS和Linux上进行开发和运行。
- 开放源代码和以社区为中心。
- 集成新式客户端框架和开发工作流。
- 支持使用gRPC托管远程过程调用(RPC)。
- 基于环境的云就绪配置系统。
- 内置依赖项注入。
- 轻型的高性能模块化HTTP请求管道。
- 能够托管于以下各项:
Kestrel
IIS
HTTP.sys
Nginx
Apache
Docker - 并行版本控制。
- 简化新式 Web 开发的工具。
使用ASP.NET Core MVC生成Web API和Web UI
ASP.NET Core MVC 提供生成 Web API和Web应用所需的功能:
- Model-View-Controller(MVC)模式使Web API和Web应用可测试。
- Razor Pages是基于页面的编程模型,它让Web UI的生成更加简单高效。
- Razor标记提供了适用于Razor Pages和MVC视图的高效语法。
- 标记帮助程序使服务器端代码可以在Razor文件中参与创建和呈现HTML元素。
- 内置的多数据格式和内容协商支持使Web API可访问多种客户端,包括浏览器和移动设备。
- 模型绑定自动将HTTP请求中的数据映射到操作方法参数。
- 模型验证自动执行客户端和服务器端验证。
ASP.NET Core目标框架
ASP.NET Core 3.x和更高版本只能面向.NET Core。通常,ASP.NET Core由.NET Standard库组成。 使用.NET Standard 2.0编写的库在实现.NET Standard 2.0的任何.NET平台上运行。
面向.NET Core有以下几个优势,并且这些优势会随着每次发布增加。 与.NET Framework相比,.NET Core的部分优势包括:
- 跨平台。在Windows、macOS和Linux上运行。
- 性能更强
- 并行版本控制
- 新API
- 开源
ASP.NET Core开源地址
使用ASP.NET Core创建Web API
使用支持创建、读取、更新、删除(CRUD) 操作的ASP.NET Core创建RESTful服务。
介绍
假设你是一家名为Contoso Pets的在线狗玩具零售商的员工。 你的经理要求你开发RESTful库存管理服务,作为公司Web店面的必备项目。 该服务必须支持添加、查看、修改和删除产品 — HTTP 操作谓词的标准化使用方式,通常也称为创建、读取、更新、删除 (CRUD)。
接下来将介绍ASP.NET Core Web API与.NET Core和C#结合使用来创建跨平台RESTful服务。 将创建内存数据库以保存产品数据。实体框架(EF)核心将用作对象关系映射器(O/RM),用于读取和管理产品数据。
参考
- ASP.NET Core 简介
- 使用 ASP.NET Core 创建 Web API
- https://github.com/dotnet/aspnetcore
- https://dotnet.microsoft.com/apps/aspnet
温故知新,使用ASP.NET Core创建Web API,永远第一次的更多相关文章
- 基于ASP.NET Core 创建 Web API
使用 Visual Studio 创建项目. 文件->新建->项目,选择创建 ASP.NET Core Web 应用程序. 基于 ASP.NET Core 2.0 ,选择API,身份验证选 ...
- 使用 ASP.NET Core 创建 Web API及链接sqlserver数据库
创建 Web API https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.0& ...
- angular4和asp.net core 2 web api
angular4和asp.net core 2 web api 这是一篇学习笔记. angular 5 正式版都快出了, 不过主要是性能升级. 我认为angular 4还是很适合企业的, 就像.net ...
- 使用angular4和asp.net core 2 web api做个练习项目(一)
这是一篇学习笔记. angular 5 正式版都快出了, 不过主要是性能升级. 我认为angular 4还是很适合企业的, 就像.net一样. 我用的是windows 10 安装工具: git for ...
- 使用angular4和asp.net core 2 web api做个练习项目(四)
第一部分: http://www.cnblogs.com/cgzl/p/7755801.html 第二部分: http://www.cnblogs.com/cgzl/p/7763397.html 第三 ...
- ASP.NET Core Restful Web API 相关资源索引
GraphQL 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上) 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下) [视频] 使用ASP.NET C ...
- 使用angular4和asp.net core 2 web api做个练习项目(二), 这部分都是angular
上一篇: http://www.cnblogs.com/cgzl/p/7755801.html 完成client.service.ts: import { Injectable } from '@an ...
- 使用angular4和asp.net core 2 web api做个练习项目(三)
第一部分: http://www.cnblogs.com/cgzl/p/7755801.html 第二部分: http://www.cnblogs.com/cgzl/p/7763397.html 后台 ...
- 使用 ASP.NET Core MVC 创建 Web API(五)
使用 ASP.NET Core MVC 创建 Web API 使用 ASP.NET Core MVC 创建 Web API(一) 使用 ASP.NET Core MVC 创建 Web API(二) 使 ...
随机推荐
- jQ的显式迭代和隐式迭代
jQ的显示迭代 隐式迭代 let lis = document.querySelector('li') lis.forEach(function (value, index) { value.styl ...
- 二进制格式安装MySQL
二进制格式安装MySQL 下载二进制格式的mysql软件包 下载二进制格式的 mysql 软件包 [root@localhost ~]# cd /usr/src/ [root@localhost sr ...
- Linux_防火墙与SElinux
一.防火墙与SElinux 1.防火墙和selinux 防火墙 iptables 默认允许所以 firewalld 默认拒绝所有 ebtables 不认识,不管 se ...
- lua中求table长度--(转自有心故我在)
关于lua table介绍,看以前的文章http://www.cnblogs.com/youxin/p/3672467.html. 官方文档是这么描述#的: 取长度操作符写作一元操作 #. 字符串的长 ...
- 手机POS机
资质查询 http://www.pbc.gov.cn/zhengwugongkai/127924/128041/2951606/1923625/1923629/d6d180ae/index4.html ...
- Oracle和MySQL差异总结
常用功能差异 锁差异: • Oracle锁加在数据块上 • InnoDB 是在索引上加锁,所以MySQL锁的粒度没有Oracle 精细. 导入导出: • Oracle采用EXP /IMP ,EXPDP ...
- 解决无法访问github的问题
当我们想学习下载某个大神分享的github项目时,由于github域名解析异常,时常会无法访问Github网站. 下面是我总结分享的有效解决方法:思路是自己手动修改hosts文件添加域名解析! 下面教 ...
- Guava-retry,java重试组件
使用场景 在日常开发中,我们经常会遇到需要调用外部服务和接口的场景.外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重 ...
- 回文词——线性dp
#include<iostream> #include<cstdio> using namespace std; int n,f[5002][5002]; char str1[ ...
- ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁
作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进 ...