原文地址:http://piotrgankiewicz.com/2017/04/17/asp-net-core-12-samples/
作者:Piotr Gankiewicz
翻译:杨晓东(Savorboard)

前言

在今天的博客中,我将介绍十几个可以在 ASP.NET Core 应用程序中使用的简单示例。从最简单的东西开始,比如 Options, 中间件,数据库,甚至 Nginx 或者 Docker。

首先确定你已经执行过了 dotnet restore , 然后运行 dotnet run 来启动应用程序,如果该示例正在使用比如像数据库这样的外部资源的话,请确保你已经安装并且运行它。

#1. Options

我们先看一下 options 来热个身,你可以很轻松的创建一个被叫做 XyzOptions 的类并且将其绑定到 appsettings.json 文件,来做一个配置的定义,并且通过注入 IOptions 来使用它的实例。

#2. 中间件

你可以通过将自己的 中间件 填加到整个流程中来扩展Http请求管道。如果你曾经使用过像NodeJS这样的框架,并且想要使用自己的代码来验证或者处理传入的请求,那么你也可以在 ASP.NET Core 中执行此操作。

#3. 过滤器

需要定制异常处理程序? 需要记录传入的请求或者验证他们? 通过使用 过滤器 ,只需创建一个新 Attribute 并且在 MVC Controller 上使用他们就可以实现这些功能或者更多的一些功能。

#4. Autofac

在 ASP.NET Core 中,依赖注入和 IOC 容器已经是内置的框架,但是你仍然可以使用自己喜欢的库来替换他们,比如你可以使用 Autofac 来帮助你提供更多依赖倒置原则方面的功能。

#5. Tests

我们都知道怎么样编写一个好的单元测试,但是真的是对的吗? 那么集成测试(端到端)呢? 当然你可以公开你的 API 实例,并且通过 HTTP Client 来执行 HTTP 请求。 然而,有一个更好的办法,你可以在内存中运行这样的测试,感谢 TestHost 这个库。

#6. SQL Server

你知道你可以在 Linux 上运行 SQL Server 了吗? 不管怎么说,你可以比如使用 Entity Framework Core 库通过 .NET Core 创建一个 SQL Server 实例, 但是,我更喜欢更加轻量级的解决方案,因此实例提供的代码使用的是 Drapper

#7. MongoDB

你喜欢使用像我用的这种 NOSQL 数据库吗? 你可以使用 MangoDB 驱动程序,并且从 .NET Core 应用程序连接到 MangoDB 数据库。

#8. Redis

Redis 是一个强大的缓存功能的库,而且你可以连接到 Redis 服务器,感谢 StackExchang 的开发人员创建了这样一个伟大的库。

#9. RabbitMQ

创建分布式系统常见方式之一是使用服务器总线。 RabbitMQ就是其中之一,你可以通过添加我喜欢的 官方库 或者 RawRabbit
, 因为它的抽象和易用性,所以你可以很方便的使用它。

#10. Nancy

Nancy 是一个构建 HTTP API 令人惊奇的框架。我非常喜欢它,当我发现它于 ASP.NET Core 框架兼容时我感到很高兴。

#11. Docker

一般来说,容器化的应用和容器是现在的行业标准。您可以轻松地使用 Docker 来构建您的 ASP.NET Core应用程序。

#12. Nginx

感谢 Kestrel HTTP Server,您不再需要使用IIS了。比如,您也可以在Linux服务器上选择 ApacheNginx 来托管 .NET Core 应用程序。

如上所述,你可以从 GitHub 中找到并下载所有的实例程序。


本文地址:http://www.cnblogs.com/savorboard/p/aspnetcore-samples.html
版权归原作者所有

十二个 ASP.NET Core 例子的更多相关文章

  1. 十二个 ASP.NET Core 例子——过滤器

    目录: 过滤器介绍 过滤器类别 自定义过滤器和过滤特性 直接短路返回内容 过滤器与中间件的区别 如果要全局日志,不要用过滤器 官方文档传送门 1.过滤器介绍 没有权限直接返回,资源缓存,Action执 ...

  2. 十二个 ASP.NET Core 例子——中间件

    目录: 什么是中间件(IApplicationBuilder) 创建 顺序规则 Asp.Net Core 内置的中间件 1.什么是中间件 官方:中间件是组装成应用程序管道以处理请求和响应的软件.每个组 ...

  3. 十二个 ASP.NET Core 例子——1.1版本 EF MySql快速搭建

    core1.0的时候搭建过一次mysql EF. 一大推问题.最近在core1.1 又重新搭了一次.简单搭建还挺快,没出现什么幺蛾子.总结下步骤 建立项目,例如ASP.NET Core1.1 WebA ...

  4. 十二个 ASP.NET Core 例子——IOC

    目录 简单介绍 core自带IOC的实现解释 1.简单介绍 (个人理解) 是什么:IOC是一种设计原则,而非设计模式,是对流程控制,当你注入你需要的定制化类时,流程就确定了 怎么用:和IOC容器说你这 ...

  5. 十二个 ASP.NET Core 例子——配置操作

    目录: 简单配置(利用configration 键值读取) 使用选项和配置对象(自定义类绑定配置文件实现读取) IOptionsSnapshot(配置文件更改时也变化) 内存数据放到配置对象中 实体框 ...

  6. 第二十节:Asp.Net Core WebApi生成在线文档

    一. 基本概念 1.背景 使用 Web API 时,了解其各种方法对开发人员来说可能是一项挑战. Swagger 也称为OpenAPI,解决了为 Web API 生成有用文档和帮助页的问题. 它具有诸 ...

  7. 第十节:Asp.Net Core 配置详解和选项模式

    一. 各种文件的读取 1.说明 在.Net Core中,各种配置文件的读取都需要依赖[Microsoft.Extensions.Configuration]程序集,当然在Asp.Net Core中已经 ...

  8. Spring Security(三十二):10. Core Services

    Now that we have a high-level overview of the Spring Security architecture and its core classes, let ...

  9. 二、Asp.Net Core WebAPI——OcelotDemo

    项目源码OcelotDemo 基础知识在教程或者官网文档查看 Ocelot源码 基于.NET平台的Ocelot网关框架教程汇总 这篇文章不错. 这里我只写我想说的 项目结构 API1和API2是测试的 ...

随机推荐

  1. TypeScript设计模式之组合、享元

    看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到用哪个模式可以解决,UML忘了可以查,思想 ...

  2. HTML5学习笔记<一>: 认识H5

    什么是 HTML5? HTML5 将成为 HTML.XHTML 以及 HTML DOM 的新标准. HTML 的上一个版本诞生于 1999 年.自从那以后,Web 世界已经经历了巨变. HTML5 仍 ...

  3. JavaScript tips:数组去重

    1.实现目标:数组去重 2.实现思路: (1)创建新数组. (2)遍历原数组,判断当前被遍历元素是否存在于新数组,如果存在于新数组,则判断当前被遍历元素是重复的:如果不存在于新数组,则判断当前被遍历元 ...

  4. ICC_lab总结——ICC_lab1:数据设置和基本流程

    ICC_lab总结 最近在学习后端的流程,做lab是最好不过了.但是有时候做过了lab,过了一段时间之后就会忘记,因此需要自己总结一下,加强印象. ICC_lab1:数据设置和基本流程 数据设置: 一 ...

  5. 说说API的防重放机制

    说说API的防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果 ...

  6. CSS学习笔记汇总

    CSS语法格式:一个css规则,由一个选择器和一个格式声明语句构成    例如:h1{color:red; font-size:14px;} CSS选择器: 1.基本选择器 1)* 号选择器:通配符, ...

  7. 获取JVM的dump文件

    获取JVM的dump文件的两种方式 1. JVM启动时增加两个参数: #出现 OOME 时生成堆 dump: -XX:+HeapDumpOnOutOfMemoryError #生成堆文件地址: -XX ...

  8. 一行命令创建 http-server

    一行命令启动http-server总结:1. python2.xpython2 -m SimpleHTTPServer 8000 2. python3.xpython -m http.server 8 ...

  9. Dapper源码学习和源码修改(下篇)

    目录: Dapper源码学习和源码修改(上篇主要讲解入参解析) Dapper源码学习和源码修改(下篇主要讲解出参解析) 继上篇讲了下自己学习Dapper的心得之后,下篇也随之而来,上篇主要讲的入参解析 ...

  10. 学习了php之后再来看php怎样学java

    我用了一天时间学会了php,真的.我现在已经可以流畅的用thinkphp框架开发php了.学习过程是这样的:我接了个php的项目,包括两个部分:老系统添加功能和优化,再新做一个系统.已经答应给人家做了 ...