qq_33299814 2018-08-22 03:00 采纳率: 50%
浏览 690
已采纳

WCF连接数据库方式的疑问

我现在要实现一个以WPF作为客户端,WCF作为服务端连接数据库并查询得到DataSet返回客户端的功能。
但是由于数据库有访问数量的限制,如果访问人数过多可能会出现连接失败的情况,所以不能直接用请求-响应模式来做。
本来我是打算把所有的数据库查询语句放在MSMQ里面,然后服务端读取进行查询然后返回,但是netMsmqBinding只支持单程传输不能双工,所以现在不知道该怎么把结果反馈回来。
请各位前辈提提意见,是否我们的设计思路有误不需要用消息队列?还是有什么其他的解决方案?

  • 写回答

4条回答 默认 最新

  • hxycsdn9159 2018-08-22 06:47
    关注

    你使用了WCF来通讯又怎么使用消息队列呢?首先要明确一个问题,你所说的“访问人数过多”到底有多多?数百个还是上万级别还是更高的级别?如果只是数百个级别的你只要在服务端使用一个队列来缓存并发的请求,简单的.net框架自带的Queue以及线程安全的Concurrent这两个数据结构就能够满足你的需求。如果你所谓的所是上万级别或者更多的你可以使用消息队列来通讯,那就根本用不到WCF了,如果消息队列只支持单工通讯模式那么你可以给每个报文做标记,只要保证你发送的一次请求能找到对应的返回就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵