Web.config szétdobása több fájlba

Ha több ember fejleszt egyszerre valamilyen source control eszközzel, akkor óhatatlanul előkerül az probléma, hogy egymás web.config (app.config) bejegyzéseit írkálják felül. Talán leggyakrabban ez a connection stringgekkel esik meg: mindenkinek másképp hívják a gépét, az SQL szerverét vagy az adatbázisát. További probléma, hogy az ilyesmi az éles környezeten történő verziófrissítést is lassítja: nagyon körültekintően kell másolni a web.configot, hogy minden fontos éles beállítás megmaradjon, de az újdonságok mégis bekerüljenek. A fenti jelenség jól kezelhető, ha több állományba dobjuk szét az alkalmazásunk konfigurációját.

Ebben segít a configSource attribútum, mellyel a legtöbb standard tag rendelkezik. A web.config ConnectionStrings beállításain keresztül szemléltetve:

web.config

<?xml version="1.0"?>
<configuration>
    <configSections>
        ...
    </configSections>
    <appSettings>
        ...
    </appSettings>
    <!-- Look for connection strings in ConnectionString.config -->
    <connectionStrings configSource="SajatConnectionString.config" />
    ...

SajatConnectionString.config

<?xml version="1.0"?>
<connectionStrings>
    <add name="TheConnectionString"
       connectionString="Data Source=.\SQLEXPRESS08;Initial Catalog=MyDatabase;Integrated Security=True"
       providerName="System.Data.SqlClient" />
</connectionStrings>

 

A SajatConnectionString.config egy segéd config fájl, melyet a web.config mellé kell elhelyezni, és hivatkozni kell rá a web.configban. Ha ezt a segéd configot nem tesszük be a TFS-be (CVS-be, SubVersionbe), akkor nem lesz többet gond a különböző fejlesztői környezetek ütközéseiből. Sőt az éles szerverre is automatikusan másolni lehet a TFS-ben található web.configot, hiszen a connection stringek nem kerülnek felülírásra.



Dávid Zoltán

Dávid Zoltán Mérnök Informatikusként végeztem a BME-n, jelenleg webfejlesztéssel és gépi tanulással foglalkozom.

2009.04.16. 14:22:13 | Permalink | Hozzászólások: 0 | Tárgyszavak: , , , ,


  • 24 perc

    Dávid Zoltán Huszonnégy perccel a határidő előtt mi történhet? Tovább »
  • GDI DrawArc vs. OutOfMemoryException

    Dávid Zoltán Tachográf korongot kell generálnom kódból. A dolog jellegéből fakadóan körcikkek rajzolgatásával terveztem megoldani a feladatot: vettem egy üres tachográf korongot, elkértem belőle a Graphics-ot, amire DrawArc-okat hivogattam. Szépen működött a tesztfázisban: generáltam hozzá sebesség-idő grafikont és kirajzolta. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások