dapper

ASP.NET MVC学习目录

冷暖自知 提交于 2020-04-27 03:23:12
一、ASP.NET MVC原理详解 1、了解MVC架构模式 3、学习ASP.NET MVC的必备语言知识 4、MVC中的razor语法详解 5、ASP.NET MVC路由系统机制详细讲解 6、ASP.NET MVC输出生成Url链接详解 7、自定义ASP.NET MVC路由系统截获MVC的路由请求 8、ASP.NET MVC使用Area区域,使用功能模块清晰明了 9、ASP.NET MVC的Controller介绍 10、ASP.NET MVC的Controller接收输入详解 11、ASP.NET MVC的Controller响应输出详解 12、ASP.NET MVC的Filter过滤器详解 13、ASP.NET MVC的Razor视图View详解教程 14、Action参数绑定Model Binding详解 15、自定义ASP.NET MVC Model绑定系统 16、深入ASP.NET MVC Model验证-使用.NET验证特性类指定Mode验证规则 二、ASP.NET MVC高手进阶 2.1 MVC的AOP相关 1、AOP实践--ASP.NET MVC 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁 2、AOP实践--利用MVC5 Filter实现登录状态判断 2.2 MVC中的IOC相关 1、什么是ASP.NET MVC的依赖注入(IoC

Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控

一笑奈何 提交于 2020-04-26 14:58:23
在大型网站系统设计中,随着分布式架构,特别是微服务架构的流行,我们将系统解耦成更小的单元,通过不断的添加新的、小的模块或者重用已经有的模块来构建复杂的系统。随着模块的不断增多,一次请求可能会涉及到十几个甚至几十个服务的协同处理,那么如何准确快速的定位到线上故障和性能瓶颈,便成为我们不得不面对的棘手问题。 <!-- more --> 为解决分布式架构中复杂的服务定位和性能问题,Google在论文 《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》 中提出了分布式跟踪系统的设计和构建思路。在这样的背景下, Apache SkyWalking 创建于2015年,参考Dapper论文实现分布式追踪功能,并逐渐进化为一个完整功能的 Application Performance Management 系统,用于追踪、监控和诊断大型分布式系统,尤其是容器和云原生下的微服务系统。 今年初我在尝试使用.NET Core构建分布式追踪系统 Butterfly 时接触到SkyWalking团队,开始和SkyWalking团队合作探索SkyWalking对.NET Core的支持,并于4月发布SkyWalking .NET Core探针的 第一个版本

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

时光总嘲笑我的痴心妄想 提交于 2020-04-26 13:30:37
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

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

℡╲_俬逩灬. 提交于 2020-04-26 13:00:31
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

.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

基于abp框架的数据库种子数据初始化

旧时模样 提交于 2020-04-26 06:12:23
[toc] #Abp系列 #一. abp框架运行——前后端分离(基于VUE) #二. 基于abp框架的数据库种子数据初始化 #基于abp框架的数据库种子数据初始化 #1.背景 最近在用abp开发项目,需要将如下区域数据通过程序的初次运行种入数据库。 不知道大家是怎么去管理数据库跟后台程序的同步的, 基于Git的数据库sql文件的管理——完美解决团队sql操作协同问题 ,此文是我以前的一个思考。 但是有三个缺点: 运维总会忘记去更新数据库,导致异常; 不同的后端有时候也难以同步; 管理sql本身要耗费一定的经历。 综上,此次开发决定数据库的初始化数据写在程序中,与程序一同管理。解决了上述三个问题。 备注本文用的abp框架为第一代,官网: https://aspnetboilerplate.com/。 模板下载运行方法(前后端分离)可以参照此文 abp框架运行——前后端分离(基于VUE) 。 #2.参照 本文执行方法参照的是abp框架的默认语言种子数据种入。 #3.解决方案 ##3.1 初始化数据 //初始化区域数据的引用 public List<Area> InitialArea => GetInitialArea(); /// <summary> /// 初始化数据 /// </summary> /// <returns></returns> private List<Area>

【快速入门ORM框架之Dapper】大牛勿进系列

Deadly 提交于 2020-04-25 16:04:45
前言:dapper是什么?Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。也就是说实体类都要自己写。它没有复杂的配置文件,一个单文件就可以了。 使用:在项目中nuget下载即可,dapper如何使用呢?它和EF不同,我们什么的配置都需要手写,连接配置,实体,上下文,这和ADO.NET有一点相似点。 实战:  配置Users表 create database TextInfo USE TEXTINFO create table Users ( UserID INT IDENTITY(1,1) NOT NULL, UserName varchar(50) Null, Email [varchar](100) Null, [Address] [varchar](100) Null )  创建连接字符串 <connectionStrings> <add name="CnnhoRechargePlatformConnectionString" connectionString="Data Source=DESKTOP-OEJGKOO;Initial Catalog=TextInfo;Integrated Security=True"/> </connectionStrings>

.net Dapper 学习系列(2) ---Dapper进阶

让人想犯罪 __ 提交于 2020-04-25 15:15:03
[toc] 写在前面 在上一小节中,我们学习、实践和总结记录了Dapper的基础用法。而这一小节,我们继续深入的学习一下Dapper这个小型 ORM框架的其他用法。在这个实列中,我们会用到两个有关联的表。 前期准备 首先,还是沿用之前的的项目。库还是原来的DemoDb数据库。如还是不清楚的,可以看上一篇。 在DemoDb数据库新增产品表 //用户表 create table[sys_user]( [user_id] [nvarchar](36) primary key not null, [u_id] [nvarchar](20) null, [u_password] [nchar](50) null, [gender] [nchar](1) null, [user_name] [nvarchar](50) null, [creation_time] [datetime] default(getdate()) null, [status] [nvarchar](1) null, ) //产品表 create table [sys_product]( [productid] [nvarchar](36) primary key not null, [productname] [nvarchar](50) null, [productDesc] [nvarchar](50) null,