- 博客(14)
- 收藏
- 关注
原创 .NET/C#大型项目研发必备(14)--数据库的负载均衡(续)
本文主要讲述“异种数据库”的负载均衡。其实现方式是基于前述“数据库的负载均衡”这篇文章的内容发展而来,请先对其阅读参考。下面就通过一个例子,给出实现“异种数据库”负载均衡的两种方法。首先,把配置负载均衡策略的DeveloperSharp.xml文件修改为多个异种数据库
2022-10-09 04:28:09
543
原创 .NET/C#大型项目研发必备(13)--DataAccess数据库访问技术(续)
常见的ORM技术(比如:Entity Framework,Dapper,SqlSugar,NHibernate,等…),它们不是在做Sql语句的程序化变种,就是在做Sql语句的面向对象化。缺点显而易见:把简单的Sql语句复杂化、不伦不类、非标的各家自定义语法、难以大规模统一应用…而ADO.NET也存在操作复杂、不同类型数据库(SqlServer、MySql、Oracle、等)操作代码需要重构等缺点。本文要介绍的主角-DeveloperSharp框架中的ORM数据库访问技术(续),则巧妙的规避了上述各种
2022-03-10 17:17:18
1443
原创 .NET/C#大型项目研发必备(12)--使用MQ消息队列
本文提供一种市面上最/极简单的使用RabbitMQ的方式,只需要会调用以下三个方法,**你就几乎可以掌握整个RabbitMQ的使用**:(1) SendMessage,发送一个消息(2) GetMessage,获取一个消息(3) UseMessage,使用一个消息(连续使用)...
2022-01-26 08:05:11
5045
3
原创 .NET/C#大型项目研发必备(11)--使用Redis缓存
Redis作为一款主流的缓存工具在业内已广受欢迎。本文将会介绍操作Redis的一种最简单的方法步骤。本文假定你身边已有安装好的Redis应用,该应用的网络地址为(ip+port):132.294.52.135:6379,访问密码为:Admin123
2022-01-26 07:54:50
2012
原创 .NET/C#大型项目研发必备(10)--图片的裁剪、缩放、与加水印
图片的裁剪、缩放、与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便。(具体代码将在文末给出)现给出一张“原图”,如下:(1)原图裁剪后的效果如下:裁剪的方法使用说明如下: PictureCut声明:void PictureCut(string SourceFile, int CutStartPointX, int CutStartPointY, int CutWidth, int CutHeight, string TargetFile)用途:图片裁剪
2022-01-26 07:49:40
1548
原创 .NET/C#大型项目研发必备(9)--http请求调用(Post与Get)
http请求调用是开发中经常会用到的功能。在内,调用自有项目的Web Api等形式接口时会用到;在外,调用一些第三方功能接口时,也会用到,因为,这些第三方功能往往是通过http地址的形式提供的,比如:短信服务、在线翻译、地图服务、语音智能、等…
2022-01-26 07:40:18
1490
1
原创 .NET/C#大型项目研发必备(8)--高效分页
数据分页,几乎是任何应用系统的必备功能。但当数据量较大时,分页操作的效率就会变得很低。大数据量分页时,一个操作耗时5秒、10秒、甚至更长时间都是有可能的,但这在用户使用的角度是不可接受的……数据分页往往有三种常用方案。第一种,把数据库中存放的相关数据,全部读入代码/内存,再由代码对其进行分页操作。第二种,直接在数据库中对相关数据进行分页操作,再把分页后的数据输出给代码程序。第三种,先把数据库中的相关数据全
2022-01-12 23:23:30
1097
原创 .NET/C#大型项目研发必备(7)--DataAccess数据库访问技术
常见的ORM技术(比如:Entity Framework,Dapper,SqlSugar,NHibernate,等…),它们不是在做Sql语句的程序化变种,就是在做Sql语句的面向对象化。缺点显而易见:把简单的Sql语句复杂化、不伦不类、不符合标准的各家自定义语法格式、无统一标准难以大规模推广应用…而ADO.NET也存在操作复杂、不同类型数据库(SqlServer、MySql、Oracle、等)操作代码需要重构等缺点。本文要介绍的主角DeveloperSharp框架中的ORM数据库访问技术,则巧妙的规
2021-12-23 11:18:53
1619
1
原创 .NET/C#大型项目研发必备(6)--IUtility工具介绍
application/session/cookie变量设置、路径转换、编码/解码、图片切割、图片缩略、图片加文字水印、图片加图像水印、json序列化、Web服务的远程调用、http调用(get/post)、生成UUID、等
2021-12-20 10:16:56
723
原创 .NET/C#大型项目研发必备(5)--Web服务/WebApi的负载均衡
【要点综述1】:为了演示Web服务的负载均衡,本文会创建3个形式一致的web服务(或者说,创建1个web服务但分别拷贝部署在3个不同的地址),然后在客户端创建一个代理以“负载均衡”的算法形式远程调用这3个web服务。【要点综述2】:为了实现“统一/透明”的调用形式连接“web服务端”与“客户端”两者,一个居中的“接口”类是必须创建的,且所有远程web服务需要继承此接口。【要点综述3】:Web Api是一个经典的http服务提供形式,WCF也是一个经典的两端通信模式,本文还将会极巧妙的整合这两者,让一个服
2021-12-18 05:52:52
1292
原创 .NET/C#大型项目研发必备(4)--数据库的读写分离
在某些大型应用系统中,往往需要把数据库的“读操作”与“写操作”分为两个数据库(甚至两组数据库)分开操作,以达到读写分离的目的。要实现数据库的读写分离,只需在前述“数据库的负载均衡“这篇文章的内容上做两点修改即可实现:一是在DeveloperSharp.xml配置文件中设置两个DatabaseCluster节点分别对应“读数据库”与“写数据库”。二是建立两个“负载均衡器”类分别对应“读的DatabaseCluster节点”与“写的DatabaseCluster节点”。
2021-12-18 04:55:14
2305
原创 .NET/C#大型项目研发必备(3)--数据库的负载均衡
本文技术点思路梳理:创建用来实施负载均衡的一组数据库。通过DeveloperSharp.xml来配置负载均衡策略。在App.config/Web.config中添加链接DeveloperSharp.xml的appSettings节点。创建基于DeveloperSharp.dll组件的“负载均衡器”类(本篇为:StudentLB类)。通过“负载均衡器”产生的ConnectionString链接数据库。为了演示数据库的负载均衡(Load Balance),我们先创建三个数据库,它们的名字分别为Y
2021-12-10 03:57:01
1328
原创 .NET/C#大型项目研发必备(1)--分布式唯一Id
UUID全球通用唯一识别码,顾名思义,是指在全世界任何一台计算机上都不会重复的唯一Id。在单机/单服务器/单数据库的小型应用中,不需要用到这类东西。但在高并发、海量数据、大型分布式应用中,UUID/GUID这类却是构建整个系统的最核心一环。设想一下如下场景:在某个大型电商系统A中,“订单”这类大数据(比如,每天产生1500万条订单)必定不会存储在1台数据库服务器中,而是分布式的存储在多台数据库服务器组成的一个集群中(比如,1000台数据库服务器组成一个集群)。由于海量数据+高并发等特性时常会伴随“订单
2021-12-07 04:19:49
1847
1
原创 .NET/C#大型项目研发必备(2)--跨域访问
CORS跨域访问问题往往出现在“浏览器客户端”通过ajax调用“服务端API”的时候。而且若是深究原理,还会发现跨域问题其实还分为【简单跨域】与【复杂跨域】这两种情况。网上对解决跨域限制有很多说明文章,但绝大多数要么解决的不完善(比如,没有区分【简单跨域】与【复杂跨域】),要么就是解决方案过于复杂化,代码量巨大。本文提供一种极度简单且十分完善的跨域访问限制解决方案,只需一行代码。即在服务端开发工程中添加Global.asax文件,并让类继承自DeveloperSharp.Structure.Base.G
2021-12-07 04:14:38
743
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人