永发信息网

WCF程序 多个客户端使用同一数据库连接产生的问题

答案:2  悬赏:80  手机版
解决时间 2021-02-21 02:10
使用WCF开发的分布式系统(Winform),可以很轻松地将程序分成服务器端程序及客户端程序。客户端程序通过向服务端程序请求,服务器端程序向数据库请求,从而实现了客户端与数据库的隔离。
但这样的情况下导致多个客户端使用同一数据库连接,产生的问题是,不同的客户端在数据库中产生的事务发生了相互影响,如客户A的操作在数据库产生的了Begin tran,客户B的操作在数据库触发了Rollback tran。这样客户B就把客户A的事务回滚掉了。
请问大神们对这样的情况下是怎样处理的?

我没有让客户端连接数据库,我的意思是,不同的客户端连接相同的服务器程序,而服务器端程序运行的时候就只创建一个数据库连接的。这样间接来说就是不同的客户端使用了相同的数据库连接了。不知我这样的理解对不对。
最佳答案
既然你用WCF,为什么还让客户端连接数据库呢?
重新设计一下!
客户端只知道服务器的存在,数据库对客户端应该是透明的;
客户端只是想服务器发出请求,至于该请求的处理是对于数据库还是内存或者其他,客户端不需要知道,只要得到服务器的处理结果就可以。
另外,无论客户端还是服务器,用一个数据库连接是不应该的,遇上多线程就麻烦了:不做同步处理会产生错误,做同步处理效率又不行……

------------
你数据库连接使用不对,如果只用一个连接,别说事务,就是并发的普通处理都可能异常;应该每个请求都创建连接、打开、关闭、释放。
全部回答
期待看到有用的回答!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
本人急需用钱,有什么办法能快速赚钱,只做一
1000元价位的手机,送给母亲用,小米和华为哪
中国最大的矿业公司是?
股票中的 换手榜 什么意思?
上海金贝壳家纺家居生活馆我想知道这个在什么
摩登橱厨怎么去啊,有知道地址的么
快递一个洗衣机多少钱
2020年名校课堂八年级物理下册人教版答案
大众新帕萨特原车导航10.2寸是什么牌子
长春长飞医院-皮肤科怎么去啊,有知道地址的
魔域卖木头戈壁在哪
古代鹦鹉叫什么名字?
2008年某航运公司拥有机动船3艘,每艘净吨位2
风帆蓄电池这个地址在什么地方,我要处理点事
2017年会计专硕学校有哪些学校
推荐资讯
楚乔传彼岸花含义是什么 楚
佛罗伦萨西餐厅在哪里啊,我有事要去这个地方
瑞虎车倒车影像下面的图像详解
上海振动盘震动不均匀什么原因
取消扣费(话费)提醒会怎样
说是网络诈骗金额要超过3000元 如果他诈骗的
霸气的英语游戏名字
武林外传坠星谷那矿工头目是不是不爆精练了?
1939年3月8日日军占领南昌
手机徽信收到的视频在台式电脑里可以播放吗?
羊排萝卜汤怎么做好吃
人流后10天内一直出血。B超提示有宫腔积液。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?