none
Web.Config e Configurazioni RRS feed

  • Domanda

  • Allora, avrei la necessità, in base al tipo di configurazione della soluzione di sostutire nel web.config la connessione al database.

    Ho già fatto il Transfrom del Web.Config purtroppo quando lancio in debug il progetto non viene rimpiazzata la connection string.

    Spiego subito qual'è il mio problema, siccome lavoriamo in diverse persone al progetto web e non siamo fisicamente nello stesso stabile, il team1 va sul server1 mentre il team2 va sul server 2.

    A questo punto, ogni qualvolta archiviamo il progetto rimpiazziamoo il web.config.

    Si pensava quindi di creare la configurazione team1 e la configurazione team2.

    E' stato aggiunto il Web.Team1.config e il Web.Team2.config premendo "Add config transforms" e, ad esempio in Web.Team1.config è stato messo:

    <add name="mydb" 
             connectionString="metadata=res://*/mydb.csdl|res://*/mydb.ssdl|res://*/mydb.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=Team1\SQLSERVER;initial catalog=mydb;USER ID=sa;PASSWORD=;multipleactiveresultsets=True;App=EntityFramework&quot;" 
             providerName="System.Data.EntityClient" 
             xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    Purtroppo però quando lanciamo non viene rimpiazzato e rimane quello presente in Web.config. Avete qualche idea?

    Se questo post risponde alla tua domanda ricorda di contrassegnarlo come risposta. In questo modo aiuterai altri utenti che hanno lo stesso problema a trovare la risposta più velocemente. Grazie.

    mercoledì 25 luglio 2012 08:48

Risposte

  • capisco, quindi ho intrapreso la strada sbagliata, per risolvere il nostro problema?

    Direi proprio di sì.

    è un pò seccante dover ogni volta modificare il web.config ad ogni getlatest

    Puoi usare il parametro ConfigSource sul tag ConnectionStrings per specificare un file di configurazione esterno che contiene la stringa di connessione: http://peterkellner.net/2008/02/23/webconfigbestpractice/. Ogni team avrà il suo file esterno specifico, che non deve essere messo nel repository.

    In questo modo, il web.config continua ad essere condiviso, ma ogni team sarà in grado di usare la propria stringa di connessione senza doverlo modificare.


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    • Proposto come risposta Irina Turcu venerdì 27 luglio 2012 11:55
    • Contrassegnato come risposta Irina Turcu lunedì 30 luglio 2012 11:21
    mercoledì 25 luglio 2012 12:53
    Postatore

Tutte le risposte