现在直播大热,从游戏直播到直播带货,这几年都是最热门的了。教育直播、视频会议、云点播等各种基于直播构建的业务模式,让众多企业也都开始配备自己的直播平台。14年在公司带队做了个游戏直播平台,疫情期间在家重构了下项目,以Asp.Net Core+Dapper+腾讯云构建了个可用的直播平台,这里给大家分享下。
毋庸置疑,Asp.Net Core
去年12月3号发布的.NET Core3.1拥有着超高人气,有太多理由推动我们去选择它,下面我再赘述一遍:
1
高性能,前几天TechEmpower第19轮编程语言框架性能排行榜已经是主流Web框架第一。
2
.Net Core无所不能,尤其是今年11月份要发布的.NET5会直接打通7大方向。
3
.NET Core开源跨平台,batter late than never,积极看好。
4
部署灵活,对云原生,容器化支持很好,是现代化敏捷开发首选!
这里还附一个Stackoverflow 2020 年度开发者调查结果,ASP.NET Core 登顶最受喜爱的Web 框架!
性能之王,Dapper
这次重构选择了Dapper,站在O/RM鄙视链顶端的框架。
O/RM鄙视链:使用EntityFramework的看不起NHibernate的笨拙,使用EF Core的鄙视EF未跨平台,使用SqlSugar的鄙视EF Core的重量级,使用Dapper的鄙视SqlSugar的流行度。
Dapper是一款轻量级O/RM框架,在速度方面拥有微型ORM之王的称号。本次重构选择Dapper是因为其具备以下特点:
1
Dapper是一个轻量级ORM类,代码就是一个SQLMapper.cs文件,编译后才40k的dll。
2
Dapper快,其速度接近IDataReader,取列表的数据超过DataTable
3
Dapper支持Mysql,sqlLite,SQLServer,Oracle等一系列数据库。
4
Dapper支持一对多,多对多,并且没侵入性,想用就用。
5
Dappe是通过Emit反射IDateReader的队列,来快速得到和产生对象。
6
Dapper语法简单,快速入手。
上图是性能对比,除了原生的DataReader,Dapper就是性能之王!Dapper的基础使用很简单,这里给大家罗列几个项目中使用频繁的进阶功能案例。
Dapper Plus
其实就是批量操作优化,基于SqlBulk实现,需要SqlServer2008+,包括Bulk Insert,Bulk Update,Bulk Delete,Bulk Merge。
事务和工作单元
Dapper的事务使用本身不难,就是常规开启事务-提交事务-回退事务,不过写起来就不那么优雅了。在项目中封装了一个UnitOfWork的工作单元,AOP模式工作的。类似这样标记下,就能轻松自动实现事务了。
其封装是基于Autofac容器和 其DynamicProxy来实现的,核心代码如下
SQL监控
Dapper的SQL监控也是基于MiniProfiler做的,只需要导入MiniProfiler.AspNetCore,扩展到ActionFilter即可。
纸上得来终觉浅,绝知此事要躬行,一篇文章没法介绍到项目的方方面面,这里为大家开设一波实战直播课,实操解读Asp.Net Core+Dapper直播平台,感兴趣的小伙伴儿请扫码领取免费入场券,今晚20:00不见不散!
该系列课程包含且不限于以下内容:
1 Dapper实战到扩展封装,包括上文中的例子
2 Asp.Net Core+Dapper+数据读写分离方案+数据库调优
3 介绍腾讯云服务器直播点播对接等
病
毒
信
息
指
南
此外,本系列课程是基于VS2019+.NET Core3.1环境开发,这里有为大家准备好软件包,以及一套Asp.Net Core入门实战课程合集,还有项目中会用的MongoDB、Redis等学习教程,欢迎大家加助教小姐姐的二维码获取配套资料
安装包及全部学习资料
扫码自取
领取人数较多,添加以下号码也可免费领取哦!
微信号:zhaoxiPenny
国内首屈一指的.Net学习社区
你加入了吗?
完整配套的学习资料
最新最热的技术文章
核心知识点面试真题
社区内优质岗位直推
全部免费奉送给大家
赶快扫码加入社区吧