您的位置:首页 > 产品设计 > UI/UE

通过messageQueue传递消息操作,多个客户端消息方案.

2008-08-21 23:34 369 查看
一个win项目中用到了Sqlite数据库,由于Sqlite不能同时修改数据库,在修改数据库时,也不能读取数据,写写并发冲突\写读并发异常\读读并发可以.所以在sqlite外部封装了一个数据操作层,其他程序通过messageQueue读写数据库.

对于数据使用者来说,发送数据请求,获取数据中心返回的消息.假如使用消息的程序有多个,或单个程序的启动了多个.

1)消息队列是先进先出的,必须先把第一个消息取出才能取第二个消息.mq.Receive取到的信息是最旧的信息.

2)System.Messaging.Message msg = mq.Receive();mq的队列为空时才阻塞.

while(true)

{

System.Messaging.Message msg = mq.Receive();

}

将一直运行下去,直到系统内存溢出.

2)message Queue的message的成员属性必须是强类型;消息中有dadatable时必须设置dadatable的name值.否则无法xml序列化.

3)多个进程同时监控一个队列时,异步接受消息各个进程都会触发吗?

MessageQueue的一个队列类似一个Socket的监听端口,多个需要返回值的应用程序可以通过建立多个队列来区分消息,区分发送消息队列和返回消息队列,但是项目是一个服务器端的管理程序,操作客户端是可以通过mstsc同时启动多个的.

方案,每个客户端都建立队列,通过配置文件循环,同时要保准一个桌面只能启动一个程序.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: