前言
在今天的博客中,我将介绍十几个可以在 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 中找到并下载所有的实例程序。