当前位置:首 页 > 攻城湿 >.Net & C# > 查看文章

十二个 ASP.NET Core 例子

.Net & C# 你是第318个围观者 0条评论 供稿者: 标签:

前言

在今天的博客中,我将介绍十几个可以在 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://piotrgankiewicz.com/2017/04/17/asp-net-core-12-samples/

作者:Piotr Gankiewicz

翻译:杨晓东(Savorboard)

这家伙很懒,什么都没写!

—— zhaorong

zhaorong
你可能也喜欢Related Posts
众说纷纭Comments
大眼 可爱 大笑 坏笑 害羞 发怒 折磨 快哭了 大哭 白眼 晕 流汗 困 腼腆 惊讶 憨笑 色 得意 骷髅 囧 睡觉 眨眼 亲亲 疑问 闭嘴 难过 淡定 抗议 鄙视 猪头
小提示:直接粘贴图片到输入框试试
努力发送中...
  • 评论最多
  • 最新评论
  • 随机文章
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容
Copyright © zhaorong All Rights Reserved. 滇ICP备15006105号-1