Un sito ospitato all'intero di Azure Web Site consente di sfruttare SQL Server Compact come motore di gestione dei propri database, grazie al fatto che il runtime è aggiornato ad ASP.NET 4.5. SQL Server Compact è un motore che gira in-process rispetto al sito web, quindi è l'ideale in caso si voglia una soluzione economica per lo storage, ma comunque con performance più che dignitose.
Di default, però, questo database non funzionerà, dandoci errore, se il deployment viene effettuato direttamente da Visual Studio.
Purtroppo, è necessario copiare manualmente alcuni file nella directory \bin\ del sito, esattamente tutti quelli posizionati sotto il percorso C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private.
Questa operazione può essere fatta collegandosi via FTP (o usando WebMatrix 2) e posizionandoci nel percorso /site/wwwroot/bin.
Infine, è necessario registrare il provider all'interno di quelli supportati, aggiungendolo al web.config:
<configuration>
..
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0"
invariant="System.Data.SqlServerCe.4.0"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1,
Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
</configuration>
Così facendo, sarà possibile sfruttare SQL Server Compact nei nostri progetti basati su ASP.NET, anche con Entity Framework 4 o 5, con una buona compatibilità con SQL Server e SQL Azure, nel caso in cui dovessimo, rispettivamente, far girare l'app in locale o aver bisogno di ulteriore scalabilità.
Il database può essere copiato manualmente, sempre via FTP, così da portare ad intervalli una copia dei dati in locale, anche per fini di backup.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Estrarre dati randomici da una lista di oggetti in C#
Recuperare l'ultima versione di una release di GitHub
Introduzione ai web component HTML
Loggare le query più lente con Entity Framework
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Aggiornare a .NET 9 su Azure App Service
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Managed deployment strategy in Azure DevOps
La gestione della riconnessione al server di Blazor in .NET 9
Supportare la sessione affinity di Azure App Service con Application Gateway
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Utilizzare WhenEach per processare i risultati di una lista di task