【发布时间】:2012-01-15 13:51:11
【问题描述】:
我有一个公开 SOAP WCF 服务端点的服务器。该服务器还使用称为 Ensemble 的组通信框架(与问题无关),以便与同一集群中的其他服务器进行通信。
我需要在侦听来自其他服务器的传入消息的单独线程和在调用 WCF 例程时运行它们的线程之间共享对象/数据。到目前为止,我做了我能想到的最简单的事情——我创建了一个带有静态成员和静态方法的静态“数据库”类——并使用 lock() 进行同步。这样我就可以从服务器和组通信线程访问这个类。我的问题是它有点破坏了整个“OOP”,我认为可以在这里做一些更聪明的事情......
【问题讨论】:
-
追求 OOP 本身绝不应该是一个目标。
-
它是如何打破“OOP 事物”的? OOP 没有提及线程和跨线程的对象共享。
标签: c# multithreading wcf oop