Click here to Skip to main content
15,893,663 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Can someone point me in the right direction? - I am trying to write a simple
cloud backup system in C#.

Right now I have a client and server program, that can send messages back and
forth. What I have realized, is I am going to have to learn about threading, or
background worker, so that the server can update the GUI so I can see what it's
actually working on - and this seems to be getting over my head quite quickly.

I've read articles saying to use simple Threading, other articles saying I
should be using Asynchronous sockets, other articles suggesting I look
into "Network Stream".

So that I don't re-invent the wheel, what it the most up to date .NET
way of accomplishing this task?

(Sorry - I know that's broad, basically I am hoping someone will point
me in a direction)
Posted

I think you need to sit down with a pad a pencil and do some 'design'/decision work first

i) You want to backup some files
a) which files - where
b) what is the data/security classification of the files - will this impact how they should be transmitted/stored ?
ii) to a cloud server/service
a) which cloud ?
b) does this cloud offer API's/a SDK ?? what does that give you - test programs for example ?
c) does the cloud services offer ways of receiving/storing data that match what you expect from point (i,b) ??
d) what is your $$ budget for storage ?
iii) you want a gui interface
what do you want the interface to do
a) select files
b) show progress - how ? listbox/??

Often you'll find eg for Amazon, there are heaps of stuff they give you when you sign up as a developer - if you're new to this field, work your way through their examples, even if they have console mode programs, use these and then start thinking about a gui - I rarely start with the gui side when Im looking at talking to a new service - if you're new to programming, there's a lot going on in a gui that may obscure what you need to to do talk to the cloud api

Your choice about 'which cloud' - looking at those points under (ii) may then drive more decisions/options

btw .. client-server .. in your case, the client is likely the program running on your local machine/pc, the server is the 'cloud' server ie the services that allow you to upload, store etc to a cloud service - I thinking looking at 'client-server' programming is a bit premature/wrong in your case


Lastely, I'd point out that this forum is for quick answers - that really means you have to have specific bits of code/questions you need help with, not something broad like this - so you're likely to get broad answers

'g'
 
Share this answer
 
v3
Found the solution on another site, thanks anyway.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900