Para una solución de plataforma, construida con blazor wasm, busco una solución de almacenamiento liviana, que sea capaz de almacenar grandes conjuntos de datos en el lado del cliente. Se nos ocurrió la idea de usar Sqlite. Literalmente no pude encontrar ninguna información sobre cómo hacerlo, espere esta pregunta de Stackoverflow de hoy, que menciona que no es posible. ¿Alguna explicación sobre esto?
¡Muchas gracias!
Su código Blazor WebAssembly C# aún se ejecuta en el espacio aislado del navegador, lo que significa que no puede abrir archivos en la unidad local.
Blazor WebAssembly tiene el mismo acceso a la máquina que cualquier sitio web normal.
Incluso si alguien fuera a portar SQLite a WebAssembly, no podría abrir un archivo de base de datos.
Para el almacenamiento en la computadora del cliente, está limitado al almacenamiento local, está limitado a 5 MB (puede ser diferente según la marca del navegador) y solo puede contener cadenas. Pero no es una opción confiable ya que los datos se eliminarán cuando los usuarios borren el caché, el historial del navegador, etc.
La única opción que tiene es almacenar datos en el servidor.
A partir de .NET 6, puede incluir dependencias nativas en Blazor WebAssembly; de hecho, un ejemplo es SQLite. Vea el código de ejemplo aquí: https://github.com/SteveSandersonMS/BlazeOrbital/blob/6b5f7892afbdc96871c974eb2d30454df4febb2c/BlazeOrbital/ManufacturingHub/Properties/NativeMethods.cs#L6