I'm looking into creating an email client with C#. I want all the data stored in one file, but don't want to have to use a seperate data source (Access DB, SqlServer, etc). I'm leary about using the standard serialization, because it would seem that everytime something is changed (new messages, message moved, etc), i would have to rewrite the file (i may be wrong on this). In the event that say, new mail has been retrieved, and the program was closed abnormally (prior to a save), these new messages would be lost. I liked the idea of the IStorage interface in C++, and was wondering if there was any equivalent in C#. I also looked into using XML, but this would seem to store everything in plain text. Can anyone offer any insights into any possible storage options?