You don't have ANY files on the users computer with a web based application. In fact as a web developer I can't choose ANYTHING on YOUR computer say to up-load. If I could do that, then when you visit my site to view some cute cat pictures, my code would be rummaging around on YOUR hard drive looking for banking information, Excel sheets called "passwords" and even stealing all your outlook contacts.
So no, the sqLite database or ANY files on YOUR computer are 100% off limits.
I'm looking for simpler, serverless alternatives,
You HAVE to run a web server with asp.net systems. The web server is the THING that takes the user post-back. The web page travels up to web server. The web server THEN starts to process that page. Only during this "round trip" can your asp.net code (which is run by the web server) then run. The web page is thus processed, THEN your code behind (c# or vb.net) runs. Final web page rendering takes place, and THEN the web page is sent back down to the users browser. Your web code your write (code behind) NEVER EVER interacts with the user. It ONLY interacts with the brief time the web page is up on the server, and then the WHOLE page is now sent back down to the client browser. At that point the user can again interact with the web page. You can't write such a application server-less and expect to use asp.net
Now of course web hosting plans that include SQL server can be had for less then $10 per month - so I not sure where or why that is a problem or issue.
But such web sites NEED a server, and they need to be running a particular kind of web server (IIS, or so called Internet Information Services). Or I suppose you could decide to run Apache web server, but I don't know how well you can get asp.net sites up and running on Apache/Linux (apparently this is "somewhat" possible now - but it is painful from what I know).
So be it SQL server (say free express edition), or MySQL, or even a imbedded database such as sqLite? They remain 100% on the server, and you have ZERO MEANS to read/open/touch/mess with files on the client side. As I stated, you can't even SELECT a file to up-load in code. Only can a user when presented with a "up-load file" selection button THEN go choose a file to open - and EVEN after that, you as a developer can't touch or even change that file name. You get a "thing" that lets you up-load what the user chooses (but you can NEVER write code that touches or grabs files on the client side computer - if that was possible then the security nightmare this presents would have destroyed the internet from day one).
When you create + build a asp.net web site with visual studio (VS)? Well it ALSO installs a WHOLE COMPLITE WEB SERVER. VS used to use a built-in web server as part of VS. But, since the web technologes were FAST moving, and Microsoft was up-dating IIS (their web server constantly), then it became quite much impossible to keep the "tiny" web server built into VS as 100% comptaible with their "big" commerial grade web servers.
So, what they did was take the active (and most up to date) source code for their web server, and they BUILD a "somewhat" lighter version of their web server. That "lighter" weight web server is called IIS express - and THAT is how VS is able to launch a web page. So make no mistake, when you hit F5 in VS to test/try/launch a web page and run it? You are using a FULL BLOWN web server running on your computer to make this work.
There are some frameworks that let you create + run a whole desktop application in a browser, but in that case there are security issues, and each client computer does require that software be installed on each computer for this to work (in fact, you are installing desktop software much like installing any good old desktop program). But then again using such systems means you ARE installing software on each computer for this to work - quite much means you toss out the whole idea and advantages of using web based software (not having to install a desktop program).
for any use of asp.net? You need a web server, and VS installed and setup A WHOLE WORKING web server on your computer for this to work.
Now, you CAN use IIS express (the one that VS installed) to server pages out to everyone say on your network. You will have to open up the ports on your computer, and mess around with the web configuration files. however, it's difficult, since the "major" difference between IIS express and the full edition?
The major difference is the the full blown IIS web server has a HUGE TRUCKLOAD of configuration screens and setup screens and management screens that IIS expresss does NOT have. However, they ARE quite much 100% comptiablith between each other. This 100% comptiablity between IIS express and the full blown web server is required, else how could you REALLY know that what you wrote in asp.net and IIS express on your computer will work WHEN you deploy to the actual produciton IIS web server that going to host your site?
So to run asp.net web sites? You need IIS, and you need the .dll's and code libraires sintalled on that machine that will support the running of your .net code. The dance between the web server and your .net code is HOW the web page is accepted from users, processed, code behind runs, and THEN that whole new copy of the web page after that processing is THEN sent back down to the client side browser. At that point, the user can say enter some data, and do SOME interactions local (JavaScript, or now Blazer code). However, any sub-mit button will case that all imporant post-back. That postback is the "act" of posting the page back up to the web server. The web server receives that page, and then the code behind processing starts (including your .net code), and again the page is then sent back down to the browser and this "round trip" process is once again completed.
So it not clear why for the price of a few beers on Friday you can't find a low cost hosted site. As noted, you have to look for a windows hosted site as opposed to a Linux one to run asp.net web applications. But as noted, many a plans are less then $10 per month. As noted, you could run the EXISTING IIS express on your computer that you using now to work with VS, but users then would be hitting the web site by a IP address (unless they are perhaps logged in users of the same network with a domain (then they could use a computer name in place of IP address - but you certainly not have a "URL" you can type in unless that URL is a IP address.
So in terms of files and things like embeeded databases? All, and 100% of the files you talking about are the SOLE exclusive use by the web server. users NEVER in ANY case actually touch, hit, load, consume a aspx web page, and in fact EVEN if they type in a URL to a html page on that site? The web server goes and gets the web page, loads it, proceses it and THEN SENDS the web page down to the client side browser. In ZERO cases the client side users NEVER EVER are able to touch/load/see the web page directly and in it raw-unproecssed existance. The web serer loads these pages and THEN sends them to the client.
As noted, you can open a static web page on your desktop in the browser, but as such, you don't have a interactive web page, and you don't have one that can call + use + consume .net code you write and that server + code has to process that web page BEFORE the round trip and sending back of the whole page to the client side occurs.
So, for ANY kind of post-back, that means a web server on the other end has to "exist" to accept that post-back.
You can't even being to think or consider such applications are possible without a operational web server. Without such, then you can't have any kind of post-back code to exist in your browser - and that quite much means you don't have any real means to build a web based application.
So drink 4 less beers this month, you will then have at least 2-3 months of web hosting saved up.