It’s nice as a precaution measure, but it might not work if your laptop already has a problem and the heatsink is completely clogged.
I decided to use a shop vac to suck the dust out and it worked.
If you're storing large pieces of relatively unstructured data (binary objects like images, for example) then obviously neither a database nor XML solution are appropriate, but given your question I'm guessing it's more of the former than the latter. Or, to put it another way, a serializable structure cannot contain any references to a class object. Adding an object to a Persistent Dictionary creates a copy of the object though serialization.
ESENT is an embeddable database storage engine (ISAM) which is part of Windows. Modifying the original object will not modify the copy, which would lead to confusing behavior. You can serialize your own classes if you mark them with A fourth option to those you mention are binary files.
XML would probably be preferable since it provides a structure to the document. I would NOT use an Access database, and flat files are more difficult to maintain over the long haul, particularly if you are dealing with more than one data field/element in your file.
In practice, The last option, and a lot of applications use now is the Windows Registry. I deal with large flat-file data feeds in good quantities daily, and even though an extreme example, flat-file data is much more difficult to maintain than the XML data feeds I process.
I'm writing an application that takes user data and stores it locally for use later.
The application will be started and stopped fairly often, and I'd like to make it save/load the data on application start/end.
If I'm correct, you just want to store user settings. These are fast and easy without the overhead of XML.You can do something similar with XML, although there the interface is called IXml Serializable, and the attributes are [Xml Root] and other attributes in the System. Just finished coding data storage for my current project. However, it took me a few lines of code to implement and I got my all storage needs covered.To get better performance I moved on custom serialization. :) Indeed, SQLite implementation took me quite a bit of time plus careful measurement of time taking by pretty much every line of the code.It'd be fairly straightforward if I used flat files, as the data doesn't really need to be secured (it'll only be stored on this PC). Update 2: So it's possible to serialize a dictionary.The options I believe are thus: Flat files require a bit more effort to maintain (no built in classes like with XML), however I haven't used XML before, and SQL seems like overkill for this relatively easy task. What makes it complicated is that the value for this dict is a generic itself, which is a list of complex data structures of type Account.The framework is built on the technique outlined by Galactic Jello in a previous post. would be fine, and can be side-by-side compatible (i.e.Then I moved to SQLite and was able to get 2 sometimes 3 times faster performance – 6 sec for load and 4 sec for save, 100K records. with the same class definitions) with protobuf-net if you want to try contract-based binary serialization (giving you a flat file serializer without any effort).There are plenty of 'how to' responses here on serialisation, which is my fault since I didn't make it clearer early on, but now I'm looking for a definite solution. Since you're storing a dictionary which is just a name/value pair list then this is pretty much what json was designed for. NET json libraries - here's one but you can find a full list on the first link. If you're talking about structured data, then either XML or a very lightweight SQL RDBMS like SQLite or SQL Server Compact Edition will work well for you.The SQL solution becomes especially compelling if the data moves beyond a trivial size.Each Account is fairly simple, it's just a bunch of properties.It is my understanding that the goal here is to try and end up with this: is the tricky bit, and the essence of this question.