Qual è il problema con le variabili |Pipe-delimited| nelle stringhe di connessione?
-
08-06-2019 - |
Domanda
So che |DatiDirectory| risolverà a App_Data
in un'applicazione ASP.NET ma è hardcoded o esiste un meccanismo generalizzato sulla falsariga di %variabili ambientali%?
Soluzione
Da MSDN Blog sui dati degli smart client :
In questa versione, il runtime .NET aggiunto supporto per ciò che chiamiamo il Macro DataDirectory. Questo permette Visual Studio per mettere uno speciale variabile nella stringa di connessione che sarà ampliato in fase di esecuzione ...
Per impostazione predefinita, | DataDirectory | la variabile verrà espansa come segue:
- Per le applicazioni inserite in a directory sul computer dell'utente, questa sarà la cartella dell'app (.exe).
- Per le app in esecuzione su ClickOnce, questa sarà una cartella di dati speciale creato da ClickOnce
- Per le app Web, questa sarà la cartella App_Data
Sotto il cofano, il valore per | DataDirectory | viene semplicemente da a proprietà sul dominio dell'app. È possibile cambiare quel valore e sovrascrivere il comportamento predefinito facendo in questo modo:
AppDomain.CurrentDomain.SetData("DataDirectory", newpath)