webForumDet fria alternativet

App.Config och Web.Config

.NET

4 svar · 362 visningar · startad av fredrik

Medlem sedan dec. 19991 072 inlägg
Frågan#1

I mitt BL har jag en sökväg som jag behöver hämta upp ifrån en config-fil.

Jag provade därför att lägga till en "App.Config" till mitt klass-projekt.

Vad jag däremot märkte var att även då mitt BL ligger i ett egen klass-projekt så läser den "ConfigurationSettings" ifrån den Web.config som ligger i mitt aspx-projekt.

Går det inte att få mitt klassprojekt att läsa ifrån en egen app.config-fil?

Jag hade tänkt lägga mitt BL i GAC.en för användning av flera aspx-projekt, och vill då inte vara tvingad att lägga till denna setting i alla web.config-filer.

Medlem sedan dec. 19991 072 inlägg
#2

Det verkar som att då ett klass-projekt inte körs i någon egen addressrymd (rätta mig om jag har fel...), så blir den en del av dess "värd-applikation", och får då även dess config-settings, oavsett om det är en webb-application eller en win-applikation.

Så...det får helt enkelt bli så att jag lägger dessa settings i respektive web.config.

Medlem sedan maj 20012 812 inlägg
#3

Jag hade samma problem, när jag skapade mitt DataLayer.

Jag gjorde dock så att jag gjorde en egen XML-fil till mitt DataLayer som jag läser ut innefrån mitt DataLayer objekt.
Det fungerade asbra i windowsapplikationer eftersom programmet hade samma sökväg som min DLL. Problemet blev när jag slängde in det i ett webprojekt eftersom det nu helt plötsligt var IIS som blev sökvägen och den letade efter min XML-fil i C:\Winnt\System32. Vilket inte vad vad jag hade tänkt mig.

Det löste sig dock att man på DataLagrets dll kan få fram i vilken mapp som filen ligger och sedan använda den sökvägen för att läsa min xml-fil som ligger i den mappen. Fungerar asbra, man måste dock kommaihåg att alltid kopiera med XML-filen när man lägger till DataLagret som en referens.

Så det blir nog det enklaste sättet för dig om du har en DLL som du vill skall läsa från en egen "configfil". Skapa alltså en egen XML-fil som du läser från i ditt BL. Kom dock ihåg att plocka fram rätt sökväg till ditt BL. Det gör du med xxxxx.GetType().FullName (tror jag det var)

Så skall det fungera.

- M

Medlem sedan dec. 19991 072 inlägg
#4

Ok..ja där ser man! Tack för svaret...

...Men...om jag nu ändå måste skicka med en XML-fil till varje web-applikation som använder BL, då kan jag väl nästan lika gärna lägga till det i dess web.config-fil...

...Kanske iof mer logiskt/lätt att ha en fysik fil att skicka med...men jag antar att det blir en smaksak!

Tack!

Medlem sedan maj 20012 812 inlägg
#5

Tja. det blir ju samma sak som om du hade en egen App.Config till ditt projekt, förutom att den inte skapas automatiskt. Men det kanske man kan lösa ändå.

Fördelen är väl om det är samma information alltid, då behöver man ju bara kopiera med filen istället för att skriva om saker hela tiden.

- M

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)