一个由于数据库并发引起的错误,开发环境里一切都正常、运行环境里不稳定、发生莫名奇妙的错误
2009-09-24 13:59 通用C#系统架构 阅读(3740) 评论(35) 编辑 收藏 举报程序运行在我们自己的开发环境里都正常,不会出现错误,而且不只是我一个人的电脑,
是接近10个项目组开发人员的电脑上都是正常的,而且运行多久都不会出错,大家有接近
10个人都在并发访问数据库,都没出现异常。
当后台管理程序同时运行,并发管理,也不会出现错误,比较奇怪的,发布到 WEB服务
器上,运行接近1天后程序就会发生错误,而且刚部署的时候,程序运行都正常,错误页面
如下:




有些蹊跷的是,我几乎不用DataReader,怎么会报这个错误呢?想了一两天都没
想明白是怎么回事。
过了一周我才想起来,很早以前,我改进设计模式、按我们以前的同事的要求,把
数据库联接进行了优化,做了单实例,唉,原来是按同事的要求作了单实例后,出
现了并发问题了,因为发布到服务器上,是几十个人同时使用,在自己的开发环境
里,单独用后台管理端是一个人用,单实例都不会出现错误。
惹事生非的单实例代码如下:

看看程序,想想并发、再看看错误信息,心里全部明白了,都是单实例惹得麻烦。
开发环境里有些错误是无法发现的,换个环境,换个角度测试,问题就暴露出来了。
程序不在于多,也不在于高超,只要运行稳定,维护方便,经得起考验才是好程序,
土一点儿笨一点儿并不是系统架构的关键问题,我们的客户大多都是非IT专业的,
他们图的是运行稳定高效的系统,他们并不关心技术的细节,懂技术的也不大愿意
花钱购买服务,自己折腾,自己开发了。
C:产品导读:
白话讲山寨SOA,少一些迷惑、多一些理解,你的程序架构SOA了吗?
疯狂.NET架构通用权限后台管理工具演示版2.0下载
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 数据集权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!