ASP.NET Core

.NetCore学习笔记:三、基于AspectCore的AOP事务管理

巧了我就是萌 提交于 2020-04-26 11:29:45
AOP(面向切面编程),通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 AspectCore 提供了一个全新的轻量级和模块化的Aop解决方案,现在已经支持Asp.Net Core。 实现AOP类TransactionalAttribute: 1 /// <summary> 2 /// 为工作单元提供事务一致性 3 /// </summary> 4 public class TransactionalAttribute : AbstractInterceptorAttribute 5 { 6 IUnitOfWork _unitOfWork { get ; set ; } 7 8 public async override Task Invoke(AspectContext context, AspectDelegate next) 9 { 10 try 11 { 12 _unitOfWork = context.ServiceProvider.GetService( typeof (IUnitOfWork)) as IUnitOfWork; 13 _unitOfWork

ASP.NET Core技术研究-全面认识Web服务器Kestrel

微笑、不失礼 提交于 2020-04-26 10:46:02
ASP.NET Core技术研究-全面认识Web服务器Kestrel 因为IIS不支持跨平台的原因,我们在升级到ASP.NET Core后,会接触到一个新的Web服务器Kestrel。相信大家刚接触这个Kestrel时,会有各种各样的疑问。 今天我们全面认识一下ASP.NET Core的默认Web服务器Kestrel。 一、初识Kestrel 首先,Kestrel是一个跨平台的Web服务器,支持运行在Windows、macOS、Linux等操作系统中。Kestrel支持一下使用场景: HTTPS Opaque upgrade used to enable WebSockets(启用WebSocket情况下的不透明升级) Unix sockets for high performance behind Nginx(Nginx高性能模式下的Unix套接字) HTTP2(不支持macOS) Kestrel支持运行在所有.NET 支持的平台和版本之上。 二、Kestrel主要应用场景 Kestrel主要有两种使用模式: 1. Kestrel直接作为Web服务器,直接接收并处理各类Http请求: 2. 与各类反向代理服务器(例如Nginx、Apache、IIS)配合使用,反向代理服务器接收Http请求,将这些请求转发到Kestrel Web服务器 使用反向代理服务器的好处有哪些呢?

1:ASP.NET Core MVC 2.x 全面教程

核能气质少年 提交于 2020-04-26 09:06:06
微软 MVP 大神杨旭录制的免费 ASP.NET Core 2.x 全面教程。 视频地址:https://www.bilibili.com/video/av38392956 博客园地址:https://www.cnblogs.com/cgzl/ 下面是他的二维码,扫就完事了~ 总览 • ASP.NET Core MVC基础知识   ♣ Startup配置   ♠ Controller   ♥ Razor   ♦ Model Validation   ◊ 少许前段 • Entity Framework Core • 授权和身份认证   • ASP.NET Core Identity • 安全 • 测试 • 性能 • 日志 • CI/CD(Continuous Integration/Continuous Deployment) 注:我尽可能去还原视频里的内容,边学习边记录... 建立项目多种方式: • Visual Studio 2017/2019 • dotnet CLI ....我用的是VS2019 1:选择下图的ASP.NET Core Web应用程序,点击下一步 2:改完项目名字,如下图所示,点击创建 3:选择ASP.NET Core 2.2 ,选择空模板,先把为HTTPS配置(C)勾掉,点击创建,项目就创建好了。 4:我们F5运行,如图有Hello World,正确! 来源

ASP.NET Core MVC 2.x 全面教程_汇总贴

☆樱花仙子☆ 提交于 2020-04-26 09:05:49
Reshaper快捷键盘 快速生成属性:prop Ctrl+. ASP.NET Core MVC 2.x 全面教程: https://www.bilibili.com/video/av38392956 语雀地址: https://www.yuque.com/yuejiangliu/dotnet/solenovex-core-mvc-comp github代码: https://github.com/solenovex/ASP.NET-Core-MVC-Tutorial-Code 杨旭的博客地址: https://www.cnblogs.com/cgzl/p/9282059.html ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介 ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 02. Web Host 的默认配置 ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道 ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 04. 中间件 ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 05.Controller 的路由 ASP.NET Core

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介

白昼怎懂夜的黑 提交于 2020-04-26 08:15:30
新建项目:Tutotial.Web 解决方案名称可以把web去掉 视频里面把git这个选项勾选了。我就不勾选了 dotnet CLI创建项目 首先必须安装好了.net Core的SDK dotnet --info dotnet --help 使用dotnet new命令来创建项目 mkdir FormCli创建文件夹FromCli 执行dotnet new 这是一些模板 我们使用这个空模板 使用VSCode打开当前目录 包含项目,不包含解决方案 运行这个项目 5000和5001两个端口,分别是https和http 如果使用VScode开发的话,确保安装了这个插件 还可以选择这个开发工具 录制工具,可以使用放大镜 放大 屏幕范围 这俩文件控制程序的启动和配置 appsettings.json是配置文件 还有一个项目文件,右键编辑才能看到文件的内容 VScode看项目结构,包含所有用来构建你的项目的一些信息,包含sdk和用到的一些包 再回到VS2017,这里就是core版本 程序运行与iisWorker这个进程里,就是w3wp.exe outofrocess就是使用反向代理的形式,前端nginx服务器转发给core的代理Kestrel。使用InProcess的话。net有优化性能更好一些 没写版本号 就取的Microsoft.NET.Sdk.Web的版本号

NLayerAppV3--.net Core2实现的DDD分层架构

回眸只為那壹抹淺笑 提交于 2020-04-25 15:18:16
虽然每天的工作都是CURD、还是使用着传统的三层架构、使用着.net Framework,但是这并不能影响我学习DDD和.net core。 总是希望软件在应对复杂多变的场景时能够游刃有余,在解决问题时能够多一种选择。 很早就有关注大神 dax.net 的 NLayerApp 系列博文 https://www.cnblogs.com/daxnet/category/304141.html 近期入坑.net core,看了 进击的辣条 的文章 Asp.Net Core微服务初体验 ,很有收获,感谢感谢。 抽时间读了下NLayerAppV3项目的源码,Github地址: https://github.com/cesarcastrocuba/nlayerappv3 分享下体会,希望相互交流学习,谢谢! 1、项目简介 NLayerAppV3是一个使用.net 2.1实现的经典DDD的分层架构的项目。 NLayerAppV3是在NLayerAppV2的基础上,使用.net core2.1进行重新构建的;它包含了开发人员和架构师都可以重用的DDD层;以银行和博客上下文示例。 2、项目结构 放一张DDD风格架构l图。主要分为四层:表现层、应用层、领域层和基础结构层。 详细的各层的含义可以查看 dax.net 的文章 https://www.cnblogs.com/daxnet/archive

Asp.net Core 系列之--2.ORM初探:Dapper实现MySql数据库各类操作

て烟熏妆下的殇ゞ 提交于 2020-04-25 15:13:48
ChuanGoing 2019-09-10 距离上一篇近一个月时间,断断续续才把本篇码完,后面将加快进度,争取年度内把本系列基本介绍完成,同时督促本人持续学习。 本篇学习曲线: 1.初识Dapper 2.DbConnection 3.CommandBuilder实现单表操作(略) 4.演示 初识Dapper Dapper是一个轻量级/高性能的ORM,核心功能是利用Emit反射获取IDataReader中的数据。我们可以利用它的对象关系映射实现简单CURD操作,或者直接用SQL语句实现复杂场景的CURD操作。 DbConnection 顾名思义,数据库连接对象。Dapper提供DbConnection对象的扩展来操作数据库 public virtual int Execute( string sql, object param = null , int ? commandTimeout = null , CommandType? commandType = null ) { return _dbConnection.Execute(sql: sql, param: param, transaction: null , commandTimeout: commandTimeout, commandType: commandType); } public virtual

翻译 Asp.Net Core 2.2.0-preview1已经发布

折月煮酒 提交于 2020-04-25 07:37:18
Asp.Net Core 2.2.0-preview1已经发布 原文地址 ASP.NET Core 2.2.0-preview1 now available 今天我们很高兴地宣布,现在可以试用ASP.NET Core和.NET Core的下一个次要版本的第一个预览。在过去的几个月里,我们和社区里的许多人一起为这个版本进行开发,现在它已经准备好让更广泛的受众尝试它并提供反馈,这些反馈可以帮助我们更好的完善这个版本。 在哪里可以下载到2.2.0-preview1? 您可以从 在这里 下载.NET Core 2.2.0-preview1版本的SDK(包括ASP.NET 2.2.0-preview1) Visual Studio版本要求 在创建.NET Core 2.2和ASP.NET Core 2.2项目时,除了安装上面提供的sdk,使用Visual Studio的开发人员还需要安装 预览版 的Visual Studio 2017 (在写本文时Visual Studio预览版是15.9 Preview 1) Azure应用服务要求 如果您使用Azure App Service运行应用程序,则应阅读 这些文档 安装用于托管2.2.0-preview1应用程序的站点扩展 对机器环境的影响 需要注意,这是一个预览版本,可能存在已知和尚未发现的错误。虽然.NET Core

即将发布的 ASP.NET Core 2.2 会有哪些新玩意儿?

风格不统一 提交于 2020-04-25 07:07:59
今年 6 月份的时候时候 .NET 团队就在 GitHub 公布了 ASP.NET Core 2.2 版本的 Roadmap(文末有链接),而前两天 ASP.NET Core 2.2 预览版 2 已经可以下载使用了,正式版大约会在今年年底的时候发布。 相对于 2.0 and 2.1 来说,这次更新算是一次小更新了,主要包含 Bug 修复、性能优化、增加一些小的特性、和 Merge 社区的 PR。 下面来总结一下 ASP.NET Core 2.2 有哪些新的东西。 ApiController 特性增强 ApiController 特性是 ASP.NET Core 2.1 引入的,应用在 Controller 类上,主要用来自动对 Model 进行验证并自动响应 400 错误。引入 ApiController 特性后比如下面的代码是多余的: if (!ModelState.IsValid) { return BadRequest (ModelState) ; } 在版本 2.2,ApiController 特性提供了 API Explorer 元数据,可以更友好地生成 Swagger/OpenAPI 文档。然后还增加了一些默认约定,如果代码不符合约定,是会有建议的。比如下面的代码: [HttpPost( "/orders" )] public ActionResult<Order>

.NET CORE应用程序启动

霸气de小男生 提交于 2020-04-25 06:59:57
ASP.NET Core 应用是在其 Main 方法中创建 Web 服务器的控制台应用: Main 方法调用 WebHost.CreateDefaultBuilder,通过 生成器模式 来创建web主机.生成器提供定义 Web 服务器(例如,UseKestrel)和启动类 (UseStartup) 的方法。 在前面的例子中,自动分配了 Kestrel Web 服务器。ASP.NET Core 的 Web 主机尝试在 IIS 上运行(如果可用)。 对于其他 Web 服务器(如 HTTP.sys),可通过调用相应的扩展方法来使用。 在下一节对 UseStartup 进行了更深入的介绍。 IWebHostBuilder 是 WebHost.CreateDefaultBuilder 调用的返回类型,它提供了许多可选方法。 其中的一些方法包括用于在 HTTP.sys 中托管应用的 UseHttpSys ,以及用于指定根内容目录的 UseContentRoot。 Build 和 Run 方法生成 IWebHost 对象,该对象托管应用并开始侦听 HTTP 请求。 WebHostBuilder 提供了许多可选方法,其中包括用于在 IIS 和 IIS Express 中进行托管的 UseIISIntegration,以及用于指定根内容目录的 UseContentRoot。 Build 和 Run