Domanda

E 'possibile stringa di connessione cambiamento (o host server solo) basandosi su web selezionata profilo di pubblicazione? Forse usando web.config trasformare o in qualche modo altro?

Voglio dire per il profilo di "Test" stringa di connessione cambiamento "myConnString" (in Web.config pubblicato) per "Data Source='example.com,14333;..." e per il profilo "Production" - per "Data Source=./SQLExpress;..."

È stato utile?

Soluzione

Questo è esattamente ciò che trasforma web di configurazione sono stati creati per. Il link che hai fornito nel tuo post ha una procedura dettagliata di fare questo specificamente per le stringhe di connessione.

Per iniziare con le trasformazioni, fare clic destro il file web.config in Esplora progetto e scegliere "Aggiungi Config Transforms". Supponendo che avete ConfigA e ConfigB nella configurazione della soluzione, ci saranno due nuovi file aggiunti, Web.ConfigA.config e Web.ConfigB.config.

Se apri questi nuovi file, saranno abbastanza vuota, a parte un po 'di commenti. Essi in realtà contengono un esempio di stringa di connessione in loro che si può usare anche se - è simile a questo:

<connectionStrings>
  <add name="MyDB" 
    connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
    xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>

Decommentare questa sezione e modificare il "nome" proprietà sul nome della stringa di connessione nel file web.config di base. Impostare la proprietà "connectionString" per il valore effettivo che si desidera utilizzare per ConfigA. Quindi, in questo modo:

<connectionStrings>
  <add name="myConnectionString" 
    connectionString="Data Source=ConfigASqlServer;Initial Catalog=ConfigADatabase;Integrated Security=True" 
    xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>

ripetere il processo per il file Web.ConfigB.config, con la stringa di connessione desiderato per ConfigB.

Ora, quando si utilizza il comando Pubblica in studio visivo, trasformerà automaticamente il file di base web.config, e impostare il "ConnectionString" attributo per qualsiasi configurazione si è in quando si pubblica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top