Nello script #1044 abbiamo visto come sfruttare SQL Server Compact 4.0 come engine di database per un'applicazione ASP.NET. Come già accennato, la più importante caratteristica di questo prodotto è l'assenza di una vera e propria architettura client-server, tipica dei DBMS tradizionali: SQL Server Compact 4.0 è semplicemente composto da una serie di librerie, eseguite all'interno del medesimo processo dell'applicazione, e che lo rendono l'ideale per il deploy in scenari di hosting condiviso.
Tipicamente, infatti, in questi ambienti non abbiamo molte possibilità di configurazione, né possiamo installare servizi aggiuntivi. Con SQL Server Compact 4.0, tutto ciò che dobbiamo fare è copiare alcuni assembly nella cartella \bin della nostra applicazione web, in modo che siano raggiungibili da ASP.NET e possano essere caricati in memoria al primo accesso ai dati. In questo senso, risulta di grande utilità la nuova funzionalità Add Deployable Dependencies di Visual Studio 2010 SP1, accessibile dal menu contestuale del progetto.
Questa opzione, infatti, aggiunge al progetto una nuova cartella, chiamata _bin_deployableAssemblies, che contiene tutti gli assembly necessari al deploy dei componenti client e del motore di database, sia nella versione per architetture x86 che per processori x64 a 64 bit.
A questo punto non ci resta che copiare i file necessari nella cartella \bin del server di destinazione, e in particolare:
- Il contenuto della cartella x86 o amd64, a seconda della tipologia del processore che vogliamo supportare;
- Gli assembly System.Data.SqlServerCe e System.Data.SqlServerCe.Entity, utilizzati da ADO.NET per interfacciarsi con il database.
Prima di eseguire l'applicazione, è inoltre buona norma verificare di aver fornito all'account del processo di ASP.NET i privilegi di scrittura sul file del database, in modo da evitare errori di accesso a runtime.
Riferimenti utili
Dite addio ad Access con SQL Server Compact 4.0 (speciale)https://www.aspitalia.com/focuson/1207/Dite-Addio-Access-SQL-Server-Compact-4.0.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Routing statico e PreRendering in una Blazor Web App
Load test di ASP.NET Core con k6
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Eseguire una GroupBy per entity in Entity Framework
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Creare moduli CSS in React
Sfruttare lo streaming di una chiamata Http da Blazor
Eseguire attività basate su eventi con Azure Container Jobs