在今天的博客中,我将介绍十几个可以在ASP.NETCore应用程序中使用的简单示例。从最简单的东西开始,比如Options,中间件,数据库,甚至Nginx或者Docker。
首先确定你已经执行过了dotnetrestore,然后运行dotnetrun来启动应用程序,如果该示例正在使用比如像数据库这样的外部资源的话,请确保你已经安装并且运行它。
我们先看一下options来热个身,你可以很轻松的创建一个被叫做XyzOptions的类并且将其绑定到appsettings.json文件,来做一个配置的定义,并且通过注入IOptions来使用它的实例。
你可以通过将自己的中间件填加到整个流程中来扩展Http请求管道。如果你曾经使用过像NodeJS这样的框架,并且想要使用自己的代码来验证或者处理传入的请求,那么你也可以在ASP.NETCore中执行此操作。
需要定制异常处理程序?需要记录传入的请求或者验证他们?通过使用过滤器,只需创建一个新Attribute并且在MVCController上使用他们就可以实现这些功能或者更多的一些功能。
在ASP.NETCore中,依赖注入和IOC容器已经是内置的框架,但是你仍然可以使用自己喜欢的库来替换他们,比如你可以使用Autofac来帮助你提供更多依赖倒置原则方面的功能。
我们都知道怎么样编写一个好的单元测试,但是真的是对的吗?那么集成测试(端到端)呢?当然你可以公开你的API实例,并且通过HTTPClient来执行HTTP请求。然而,有一个更好的办法,你可以在内存中运行这样的测试,感谢TestHost这个库。
你知道你可以在Linux上运行SQLServer了吗?不管怎么说,你可以比如使用EntityFrameworkCore库通过.NETCore创建一个SQLServer实例,但是,我更喜欢更加轻量级的解决方案,因此实例提供的代码使用的是Drapper。
你喜欢使用像我用的这种NOSQL数据库吗?你可以使用MangoDB驱动程序,并且从.NETCore应用程序连接到MangoDB数据库。
创建分布式系统常见方式之一是使用服务器总线。RabbitMQ就是其中之一,你可以通过添加我喜欢的官方库或者RawRabbit,因为它的抽象和易用性,所以你可以很方便的使用它。
Nancy是一个构建HTTPAPI令人惊奇的框架。我非常喜欢它,当我发现它于ASP.NETCore框架兼容时我感到很高兴。
一般来说,容器化的应用和容器是现在的行业标准。您可以轻松地使用Docker来构建您的ASP.NETCore应用程序。
感谢KestrelHTTPServer,您不再需要使用IIS了。比如,您也可以在Linux服务器上选择Apache或Nginx来托管.NETCore应用程序。