.NET中remoting的一个小问题
就是数据锁,大家都知道当线程对同一个对象操作时,能够通过加锁来防止丢失信息,但是 remoting怎么办呢?如果2个客户端同时调用服务端的一个方法,对服务端的一个对象进行操作,怎么能让它们不发生数据冲突?
好象用消息队列可行,但是这个还得添加windows组件,不实用啊.
------解决方案--------------------如果你用 SingleCall来创建服务器对象的话 ,那么 每个客户端访问 ,服务器都为他建立一个单独的服务器对象 ,所以不会出现 你的问题
如果你用singleTon或者Marshal来创建服务器对象的话,则需要自己来维护数据锁 ,最简单的方法就是lock啦 ,呵呵 ,希望帮到你
------解决方案--------------------SingleCall
singleTon
区别开就会了
------解决方案--------------------Remoting Server本身就是一个多线程程序,每一个Request在一个单独的线程上执行。
线程同步的方法(lock, etc)在Remoting程序里也是一样的。
------解决方案--------------------关注..