title: C# Client-Server Time Tracker: How should I implement the networking?
body: <p>I'm writing an application in C# that allows people to track the amount of time they spend on tasks. It can be used by a single person to track their own personal time, but it will also be able to work in, for example, a company - like, if they want to track the amount of time spend on some project.</p>
  
  <p>The data being stored by this program is pretty simple - a collection of all the tasks and each "block" of time that was spent on it (including date, start/stop time, and length of time spent).</p>
  
  <p>For the multiuser functionality, my plan was to have a single server that the clients send updates to the tracked time. I don't think the clients will need a continuous connection as the updates would typically be pretty far apart.</p>
  
  <p><strike>Additionally, as both the server and the client will store a copy of the data, either of them can ask for a copy from the other if there's a data loss on either.</strike> Femaref has informed me that this is a poor idea, so I've removed it. </p>
  
  <p>So, my question is, how should I approach this? I've seen some C# client/server tutorials, but those seem to be geared towards continuous connections.</p>