Avatar billede lasserasch Juniormester
22. maj 2013 - 14:41 Der er 3 kommentarer

Redigere appconfig settings fra web.config i runtime

Hejsa.

Jeg har følgende problem:

1. Jeg har et helt alm. asp.net Website som skal køre på en IIS 7.5 server. Sitet anvender en 3. parts DLL fil som vi ikke har sourcekoden til.

2. Denne 3.parts dll fil læser en settingsværdi fra web.config filen. Det er ikke muligt at overskrive/give 3.parts dll filen en anden værdi for denne settingvariabel fra kode.

3. Jeg har brug for at opsætte samme site 10 gange på en IIS server. Men jeg vil helst undgå at have koden liggende i 10 foldere. Jeg vil altså gerne have at sitet er en og samme folder, men 10 forskellige sites i IIS'en.

Jeg har derfor brug for en måde hvorpå jeg kan overskrive den application setting værdi som læses fra web.config filen, uden at skrive til web.config filen.

Dvs, når iis sitet starter, skal jeg kunne læse URL'en. Altså om der står : test1.mysite.com, test2.mysite.com osv. Og ud fra dette har jeg brug at overskrive værdien fra web.config filen med en ny værdi, som kun er gældende i den pågældende context.

Kan man det?

Jeg tænker at det må kunne gøres i global.asax filen, men har svært ved at finde et eksempel som viser hvordan det gøres.


Slut resultatet skulle gerne blive at når 3. parts dll filen læser settings værdien ind på normal vis, så fik den fat i min overskrevede værdi.



Jeg har også set lidt på om det kunne gøres via <location > tagget i web.config filen.

Men det det ser ud til at den er beregnet til netop dette.

Foreslag modtages meget gerne :-)
Avatar billede Syska Mester
22. maj 2013 - 18:26 #1
Send den 3 parts dll til /dev/null :-)

Problemet er vel også lidt at når web.config bliver rørt, så den en apppool rerycle :-(

Kan du ikke bruge "configSource" på de settings og mappe et virtual dir på de iis sites ... og så smide filen i den mappe?
Avatar billede lasserasch Juniormester
22. maj 2013 - 19:20 #2
Altså Web.config skulle ikke blive rørt. Jeg er kun interesseret i at overskrive værdien i memory og ikke skrive til Web.config filen. Så ville den nemlig recycle og det duer ikke :-)

Hvad er configsource?? Har du et link til læsning? :-)

Mvh lasse
Avatar billede Syska Mester
22. maj 2013 - 19:45 #3
Du får et link til google da der er mange sider og jeg er ikke lige helt klar over hvad for et er bedst.

https://www.google.dk/#safe=off&sclient=psy-ab&q=msdn+web.config+configsource&oq=msdn+web.config+configsource&gs_l=hp.3..0i8i30.4653.5108.1.5322.5.5.0.0.0.0.68.316.5.5.0.cappswebvhl..0.0...1.1.14.psy-ab.9BZl7--3VsA&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.46751780,d.Yms&fp=b23924a27ba5a244&biw=1920&bih=1075

Men det gør at du kan linke eksterne config filer ... dvs f.eks flytte noget ud i andre filer ... som f.eks connecionString etc.

Det ville i hvert fald virke med virtual dirs hvor de settings som er forskellige så ligger.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester