Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 973969
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T03:21:41+00:00 2026-05-16T03:21:41+00:00

I have got a server that controls a complicated industrial system. We need to

  • 0

I have got a server that controls a complicated industrial system.

We need to write a remote client that can connect to the server and “observe” its internal state. I need to work out:

  • How to establish the current state when the client connects
  • How to keep the client up to date with changes on the server
  • Do we replicate all of the objects/state on the server, or just a subset?

My current approach is to hand-write code that watches for changes to every object on the server and send those as messages to the client. The client receives those messages and applies those changes to its own local model.

The problem is this involves a lot of manual coding, and I have got three classes for each entity: server, message, and client. Even observing for state changes is pretty labour intensive.

I feel there must be a better, generalised way to achieve this?

Incidentally the technologies I am using are .net, c#, WPF and WCF

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T03:21:41+00:00Added an answer on May 16, 2026 at 3:21 am

    What I’m about to suggest may be very hard to retrofit to an existing system, but I think it’s an effective pattern. You might call it a “Replicated Model”.

    My idea is that your server has a Model, and the client should have an identical Model.

    All updates to the server Model arrive as events applied to the Model. Now, provided those events are serialisable then we can ship them to the client too, and it will see the same updates.

    All we need to do is get the initial state of the client and server models to be in step. That’s simplest if we make the Model serializable too. With a timestamp mechanism the client now goes:

     Hey Server, I'd like to to start replicating
    

    the server goes

     Here's the current snaphot and I'll be sending you all updates after that
    

    There’s plenty of wrinkles to this. For example how to get back in synch if messages are lost.

    The key thing here is that the Model needs to be decoupled from the other code in the Server. It’s classes must not refer to processing classes. Instead it must emit events if it is to trigger work. Then in the Server things happen, but in the client these work events are simply ignored.

    The advantage of this approach is that once youve got the replication meachism in place there’s virtually no maintenance as the Model changes. Provided all model classes and chnage events are serializable then the same code runs in server and client.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have got the following problem since the server has safe mode turned on,
I've got a WCF service up and running on a server. We have a
I've got a web application that controls which web applications get served traffic from
I have a number of custom controls that I am trying to enable designer
I've got a web application that I'm trying to optimize. Some of the controls
We have got a custom MembershipProvider in ASP.NET . Now there are 2 possible
We have got loads of options for php + MySQL + Apache combo... Which
I have got a python script which is creating an ODBC connection. The ODBC
I have got a C function in a static library, let's call it A,
I have got some code to load an assembly and get all types, which

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.