dotnet distributed apps:
Sorry for the cross-post, but It was needed to get an MVP to answer/manage.
The other post is in framework.remoting.
I could really use some help on this one.
Last year I developed a “Device Manager†application that managed the
configuration of devices mounted in a 19†equipment rack. This application
is a standalone Windows Forms app written in C# that uses Binary
Serialization for persistence and an Observer/MVC design for the User
Interface. In other words, on startup the entire Object Model of entity
objects is created from the binary file (like an in-memory OO database) then
the View/UI subscribes to this model so that any changes are displayed. This
application works really well.
Now I need to enhance this design to support about 5 clients. The clients
and server will be Windows Forms apps on the same LAN. This is an obvious
candidate for .Net Remoting or WCF(TCP Binding). I want the clients to
behave just like the standalone UI did (i.e. Observer/MVC).
What is the best way to go about distributing these entity objects to all of
the clients and synchronizing among them? The entity objects will need to be
Singleton objects on the server. Would WCF callbacks work here? These
clients need the ability to CRUD these server objects, so I will need to do
some sort of object locking. These sever objects are fairly light, but do
have many levels of composition (e.g. a room has racks which has card cages
which has slots which has devices etc.). All of this object composition
results in many collections. Will WCF support passing collections between
client and server? I may also want a PeerChannel so that I can multicast
status to all clients.
Any comments, examples, or references will be greatly appreciated.