十二个 ASP.NET Core 例子

前言

在今天的博客中,我将介绍十几个可以在 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服务器上选择 Apache 或 Nginx 来托管 .NET Core 应用程序。

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


原文地址:http://www.cnblogs.com/savorboard/p/aspnetcore-samples.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Opencv FFmpeg Ubuntu下编译问题

FFmpeg转码错误Cannot load libcuda.so.1 https://blog.csdn.net/yzhang6_10/article/details/81349532 srs2.0 安装启动 https://my.oschina.net/fengjihu/blog/413710 SRS-HLS服务的部署 https://blog.csdn.net/dengjoe/article/details/52698423 ubuntu编译ffmpeg并且demo测…

40 道基础Dubbo 面试题及答案

转载自 40 道 Dubbo 面试题及答案 想往高处走,怎么能不懂 Dubbo? Dubbo是国内最出名的分布式服务框架,也是 Java 程序员必备的必会的框架之一。Dubbo 更是中高级面试过程中经常会问的技术,无论你是否用过,你都必须…

康威定律和系统设计——《微服务设计》读书笔记

康威定律 任何组织在设计一套系统时,所交付的设计方案在结构上都与该组织的沟通结构保持一致。 ——梅尔.康威 如何理解这句话在软件工程上的含义?埃里克.S.雷蒙德说:如果你有四个小组开发一个编译器,那你会得到一个四步编译器。…

Ubuntu下C++代码调用可执行文件。

例如&#xff1a;已经存在一个编译好的c可执行文件&#xff1a; 简单代码&#xff08;第一个可执行文件&#xff09; vim hello.cpp #include <iostream> using namespace std; int main(){cout<<"Ubuntu调用C可执行文件成功"<<endl;return 0; }编…

Eclipse 4.9 正式发布,支持 Java 11

转载自 Eclipse 4.9 正式发布&#xff0c;支持 Java 11 来看看 Eclipse 4.9 带来了哪些新特性&#xff01; 1、外观 新增类似大纲视图的”Minimap” 间主题/暗黑主题&#xff0c;启用方法&#xff1a; Window > Show View > Other&#xff0c;然后在 Show View 对话框…

Ubuntu C++ Thread Sleep

#include #include <unistd.h> using namespace std; int main() { cout << “nitrate”; cout << flush; usleep(1000000); cout << “firtilizers”; return 0; } usleep函数能把线程挂起一段时间&#xff0c; 单位是微秒&#xff08;千分之一毫秒…

JS书写规则

1.JS严格区分大小写 2.JS中每条语句以分号(;)结尾如果不写分号&#xff0c;浏览器会自动添加&#xff0c;但是会消耗一些系统资源&#xff0c; 而且有些时候&#xff0c;浏览器会加错分号&#xff0c;所以在开发中分号必须写 3.JS中会自动忽略多个空格和换行&#xff0c;所以…

开发者需要理解的分布式原语

随着容器技术的崛起&#xff0c;开发人员的思维也从单主机扩展到了分布式。Bilgin Ibryam在Red Hat官方博客上介绍了什么是分布式原语&#xff0c;以及它与进程内原语之间的联系。本文已获得作者翻译授权&#xff0c;查看原文New Distributed Primitives for Developers。 面向…

Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码

转载自 Java 11 正式发布&#xff0c;这 8 个逆天新特性教你写出更牛逼的代码 美国时间 09 月 25 日&#xff0c;Oralce 正式发布了 Java 11&#xff0c;这是据 Java 8 以后支持的首个长期版本。 为什么说是长期版本&#xff0c;看下面的官方发布的支持路线图表。 可以看出…

c/c++ 字符串分割

c/c 字符串分割 vector<string> split_string(const char *str, const char *pattern) {char * strc (char*)str;vector<string> res;char* temp strtok(strc, pattern);while(temp ! NULL){res.push_back(string(temp));temp strtok(NULL, pattern);}return re…

JS中的命名规则

在JS中所有的可以自主命名的内容&#xff0c;都可以认为是一个标识符&#xff0c; 是标识符就应该遵守标识符的规范。 比如&#xff1a;变量名、函数名、属性名 规范&#xff1a; 1.标识符中可以含有字母、数字、_、$ 2.标识符不能以数字开头 3.标识符不能是JS中的关键字和保…

mssql on linux 安装指导

通常在本机开发环境中需要搭建所有的服务&#xff0c;还要修改本地的hosts&#xff0c;实在是不胜其烦。如今有了docker&#xff0c;完全不用污染本地环境&#xff0c;且看老司机带你搭建一个asp.net core的开发环境集群。愿你走出虚拟机&#xff0c;归来仍是干净的开发机。 教…

互联网账户系统的具体实现

转载自 互联网账户系统的具体实现 导读 在上一篇文章中我们通过场景举例的方式&#xff0c;讨论了一套相对通用的互联网业务账户系统&#xff0c;从业务模型上应该如何定义。那么除了从业务模型上进行定义外&#xff0c;在具体系统实现上又该如何设计&#xff1f;又有哪些需…

JDBC简单总结

一、java集合框架包含的内容&#xff1a; 1.Collection ①List接口: a.ArrayList实现类&#xff1a;实现了长度可变的数组&#xff0c;遍历数据的时候效率比较高 b.LinkedList实现类&#xff1a;采用链表存储方式&#xff0c;插入和删除元素的时候效率比较高 ②Set接口: a.Hash…

ubuntu 16.4 安装postgreSQL,使C++链接到数据库

1、安装postgreSQL Ubuntu下编译安装postgreSQL 10.5 https://blog.csdn.net/lc_2014c/article/details/84189162 2、安装驱动Libpqxx下载 编译报错 安装sudo apt-get install libpq-dev 3.设置数据库允许远程登录 ubuntu设置postgresql允许被远程访问 https://blog.csdn.net/…

JS进行性能测试(计时)

//测试如下的程序的性能//在程序执行前&#xff0c;开启计时器//console.time("计时器的名字")可以用来开启一个计时器//它需要一个字符串作为参数&#xff0c;这个字符串将会作为计时器的标识console.time("test");//终止计时器//console.timeEnd()用来停…

.NET 的一点历史往事:和 Java 的恩怨

在编程语言的发展历史上&#xff0c;1995年应该是个特殊的年头&#xff0c;毕竟这个年头诞生了两个后来二十多年影响深远的语言。1995年5月23日的 SunWorld 大会上面 Sun 公司高调发布了自己研发了近五年的 Java 语言和 JVM 平台。当年的十二月&#xff0c;网景公司将自己刚刚预…

这可能是史上最全 Redis 高可用解决方案总结

转载自 这可能是史上最全 Redis 高可用解决方案总结 本文主要针对 Redis 常见的几种使用方式及其优缺点展开分析。 一、常见使用方式 Redis 的几种常见使用方式包括&#xff1a; Redis 单副本&#xff1b; Redis 多副本&#xff08;主从&#xff09;&#xff1b; Redis S…