The principle is as follows.
Get data from the server, Oracle, save on your local disk as a file (in binary), before writing to disk and compress encrypt data.
If there is no connection to the Oracle server save the changed data in this file, with the advent of communication with the server send to the server from a file. data file remove.
How this is implemented in C#?
Article or useful links?
In what direction should I go?