ASP.NET: Thread-safety in a file-based database
<p>I have worked a bit with ASP.NET before. I was using a MS SQL server to store and retrieve data to display in some dynamic pages in one project I started to learn ASP.NET a bit. Now I am about to start a new project but this time I would like to store the data in a file-based database , like say, an Access file. This project is also a hobby project and I'm not afraid of the scaling problem because perhaps only 3 users will be using the application at the same time and no be data traffic will be expected.</p>

<p>Now , about my question: using a MS SQL database there is no problem with several users reading-writing to the Db at the same time because the DB engine will take care of this, but using a file-based database with ADO.NET will be a problem in that case, am I right? </p>

<p>What I mean, do I need to take care of multiuser synchronization myself (using some synchronization mechanism, lock, mutex, whatever) to guarantee thread safety when working with the database or does ADO.NET takes care of that as well?</p>

<p>Should I use perhaps a singleton class for the data layer?  </p>
