views:

61

answers:

1

Hi, need a technology (open source or build myself) usable from C# that allows me to in one process maintain a “master” collection of objects (says a Dictionary of Customer objects) and in n other “client” processes maintain an in-memory duplicate of the “master” collection. All changes to the collection should only happen to the “master” and when they do (the collection or object in the collection is modified) it should update the “client” in real-time via a reliable multicast protocol (say PGM).

Someone know any open source projects that provide this functionality ?

A: 

A simple Solution

build a wcf service. Hold a singlton from your master collection and everytime an update on the collection. The service push the change via wcf-callback to all clients.

Link to another thread about this

Andreas Hoffmann
You're sugguesting TCP right? I need multicast. The "Master" process/server does not know about the "client" (the number of clients or there location)
cppAndcsharpHero
You might consider using "WCF PeerChannel"This binding allow you multicast over peer-to-peer. Its between point-to-point TCP and broadcasting over UDP
Andreas Hoffmann
I don't like XML/WCF ... binary serialization is much quicker
cppAndcsharpHero
You can change the serializer for WCF to binary.
Andreas Hoffmann