[asp.NET] web.config opnemen in CMS

Pagina: 1
Acties:

  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Goedemorgen allemaal,

In mijn projectje heb ik wat instellingen opgenomen in de web.config.

voorbeeld;
code:
1
2
      <add key="nonWerkDagen" value="Sunday Saturday Monday"/>
      <add key="dagenVoorBoeking" value="0"/>


Echter zijn dit waarden die eigelijk beheerd moeten worden door de gebruiker van de applicatie.
Deze instellingen veranderen niet dagelijks (zijn vrijwel allemaal 1-malige instellingen), maar moeten wel door de beheerder van de applicatie ingesteld kunnen worden zonder tussenkomen van derde (mij).
Na wat zoeken in internet kwam ik echt niets tegen om dit te doen, enkel wat informatie over dat het moeilijk/niet mogelijk is.
Iemand een idee hoe ik dit wel mogelijk kan maken?

Mocht het niet mogelijk zijn; wat zou dat een "goed" alternatief zijn om toch dezelfde funtionaliteit te kunnen bieden?

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 30-01 15:48

Not Pingu

Dumbass ex machina

Gewoon een configuratie tabel in je database (of een XML bestand op de harde schijf) dat je mbv. ASP.NET uitleest en schrijft.

Met de web.config zou ik niet gaan fucken aangezien je hele applicatie restart als de web.config wijzigt.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:08
Je kan die instellingen toch ook in de DB opslaan, ergens in een 'parameter' tabel ofzo.

https://fgheysels.github.io/


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
whoami schreef op maandag 10 april 2006 @ 09:01:
Je kan die instellingen toch ook in de DB opslaan, ergens in een 'parameter' tabel ofzo.
Persoonlijk geef ik daar niet de voorkeur aan omdat ik onderandere ook de database connectionstring in dit bestand heb staan. Daarnaast vind ik het onhandig om steeds een koppeling te moeten maken met een database om m`n instellingen op te kunnen halen.

  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 30-01 15:48

Not Pingu

Dumbass ex machina

Predje schreef op maandag 10 april 2006 @ 09:06:
[...]


Persoonlijk geef ik daar niet de voorkeur aan omdat ik onderandere ook de database connectionstring in dit bestand heb staan. Daarnaast vind ik het onhandig om steeds een koppeling te moeten maken met een database om m`n instellingen op te kunnen halen.
Is dit je eerste webapplicatie?

Certified smart block developer op de agile darkchain stack. PM voor info.


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Gunp01nt schreef op maandag 10 april 2006 @ 09:11:
[...]


Is dit je eerste webapplicatie?
wel mijn eerste .NET applicatie.

  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 21-01 09:10

giMoz

iets met meester...

Het biedt wel perspectief over een leuke discussie over: welke instellingen sla je waar op? (en een kick naar "Software Engineering & Architecture" ;) )

Of niet natuurlijk...


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 30-01 15:48

Not Pingu

Dumbass ex machina

Predje schreef op maandag 10 april 2006 @ 09:13:
[...]


wel mijn eerste .NET applicatie.
Je kunt je configuratieinstellingen gewoon in cache opslaan, dan hoef je alleen in de database te graven als er iets verandert. Nogmaals, rechtstreeks kloten in de web.config is niet aan te raden.

Connectionstring lijkt me iets dat niet door een websitebeheerder wordt ingesteld, maar door de applicatie-deployer cq. developer. Ik neem even aan dat de connectionstring na initiele deployment niet meer verandert?

Certified smart block developer op de agile darkchain stack. PM voor info.


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:08
Predje schreef op maandag 10 april 2006 @ 09:06:
[...]


Persoonlijk geef ik daar niet de voorkeur aan omdat ik onderandere ook de database connectionstring in dit bestand heb staan. Daarnaast vind ik het onhandig om steeds een koppeling te moeten maken met een database om m`n instellingen op te kunnen halen.
Ik heb het over die 'parameters' die eigenlijk specifiek zijn aan het 'probleemgebied', die 2 settings dus die de TS als voorbeeld getoond heeft. Ik heb het niet over een connection-string, die kan perfect in de web.config.

Aangezien die instellingen niet vaak wijzigen, dan kan je ze ook slechts 1x ophalen, en ze in de cache zetten.

beetje spuit 11

https://fgheysels.github.io/


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Gunp01nt schreef op maandag 10 april 2006 @ 09:17:
[...]


Je kunt je configuratieinstellingen gewoon in cache opslaan, dan hoef je alleen in de database te graven als er iets verandert. Nogmaals, rechtstreeks kloten in de web.config is niet aan te raden.

Connectionstring lijkt me iets dat niet door een websitebeheerder wordt ingesteld, maar door de applicatie-deployer cq. developer. Ik neem even aan dat de connectionstring na initiele deployment niet meer verandert?
Nee die pas ik idd zelf wel aan, deze laat ik ook in de web.config staan.
Maar de andere instellingen laat ik de beheerder zelf beheren, deze ga in nu onderbrengen in een XML file of DB.

Over het cache van die database gegevens, kun je daar wat meer uitleg over geven?
Ik snap dat je de gegevens maar 1 keer hoeft te benaderen in het begin van de pagina (classis asp manier), maar hoe gaat het cache grofweg in zijn werking.

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:08
Zoek eens in de MSDN op Cache class oid.

https://fgheysels.github.io/


Verwijderd

Kijk eens naar asp.net 2.0

  • NIMIC
  • Registratie: December 2001
  • Niet online
idd met asp.net 2.0 is geïntroduceerd dat er wijzigingen aangebracht kunnen worden in de web.config.

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:08
Hoezo, kijk eens naar asp.net 2.0. De TS heeft al aan dat hij ASP.NET gebruikt; en misschien gebruikt hij al 2.0. En als hij .NET 1.1 gebruikt, is het niet altijd even makkelijk / mogelijk / toegelaten om zo maar naar 2.0 over te schakelen.
Dit is dus een beetje een opmerking die nergens op slaat. Als je zo'n dingen zegt, onderbouw het dan tenminste.
NIMIC schreef op maandag 10 april 2006 @ 09:36:
[...]


idd met asp.net 2.0 is geïntroduceerd dat er wijzigingen aangebracht kunnen worden in de web.config.
En wijzigingen aanbrengen in de web.config brengt met zich mee dat je applicatie gerestart wordt....
De settings die de TS in z'n topictart aangeeft, zijn gewoon geen settings die in een web.config thuishoren. In een web.config horen -imo- dingen thuis die nodig zijn om je applicatie te laten draaien. Domein-specifieke zaken (zoals de dingen die aangegeven zijn), horen niet thuis in een web.config, maar in een DB of in een aparte config. file.

[ Voor 47% gewijzigd door whoami op 10-04-2006 09:40 ]

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:42

gorgi_19

Kruimeltjes zijn weer op :9

NIMIC schreef op maandag 10 april 2006 @ 09:36:
[...]


idd met asp.net 2.0 is geïntroduceerd dat er wijzigingen aangebracht kunnen worden in de web.config.
Mits je ASPNet_user dan voldoende rechten heeft om in je root te schrijven, wat je normaliter niet zal willen uit beveiligingsoogpunt (of impersonating toepast). Imho is een apart .config bestand of opslaan in de database goede opties.

[ Voor 4% gewijzigd door gorgi_19 op 10-04-2006 09:39 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

NIMIC schreef op maandag 10 april 2006 @ 09:36:
[...]


idd met asp.net 2.0 is geïntroduceerd dat er wijzigingen aangebracht kunnen worden in de web.config.
precies
Je mag het dan wel met iemand eens zijn, maar gewoon een post maken met 'precies' is een beetje onzinnig, denk je niet ?

[ Voor 23% gewijzigd door whoami op 10-04-2006 09:39 ]


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
Sorry dat ik het er niet bij heb gezet, maar ik werkt met ASP.NET 2.0

Ik snap dat het op deze manier gebruik maken van de web.config niet erg netjes is.
Maargoed het gaan om instellingen die niet wekelijks (zelfs niet maandelijks) aangepast gaan worden.
Daardoor kan ik leven met de restart die nodig is na het aanpassen van de web.config.
Zo`n restart kost eigelijk ook maar eenmalig een paar extra seconden.

Moet toch eens gaan zoeken naar de 2.0 ASP.NET BIBLE :P (heb hier de 1.1 BIBLE liggen :Y) )

Verwijderd

Er is een Cache object aanwezig die binnen je gehele applicatie te benaderen via HttpContext.Cache. Hier kun je heel gemakkelijk dingen in stoppen en uitlezen:

code:
1
2
3
HttpContext.Cache["Item1"] = myValue;

string item1 = (string)HttpContext.Cache["Item1"];

Enkele opmerkingen:
dingen kunnen na verloop van tijd zomaar uit de cache verdwijnen. Controleer dus altijd eerst of een entry aanwezig is in de cache voordat je er iets mee gaat doen.
Je hebt verder veel meer zeggenschap over hoe de cache met je gegevens omgaat door Cache.Add() te gebruiken.

[ Voor 8% gewijzigd door Verwijderd op 10-04-2006 10:09 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 18:08
Waarom wil je het persee in de web.config plaatsen ?
Die dingen horen er imo gewoon niet, aangezien ze te zien hebben met je 'probleem-domein', en niet met 'administratieve' zaken mbt je applicatie zelf.

https://fgheysels.github.io/


  • Predje
  • Registratie: December 2002
  • Laatst online: 03-03-2025
whoami schreef op maandag 10 april 2006 @ 10:12:
Waarom wil je het persee in de web.config plaatsen ?
Die dingen horen er imo gewoon niet, aangezien ze te zien hebben met je 'probleem-domein', en niet met 'administratieve' zaken mbt je applicatie zelf.
Haha, ja je hebt me overtuigd. Het is echt geen "nette" oplossing.
Dat cache klinkt wel intressant zal er eens wat over gaan lezen.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:42

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op maandag 10 april 2006 @ 10:03:
Er is een Cache object aanwezig die binnen je gehele applicatie te benaderen via HttpContext.Cache. Hier kun je heel gemakkelijk dingen in stoppen en uitlezen:

code:
1
2
3
HttpContext.Cache["Item1"] = myValue;

string item1 = (string)HttpContext.Cache["Item1"];

Enkele opmerkingen:
dingen kunnen na verloop van tijd zomaar uit de cache verdwijnen. Controleer dus altijd eerst of een entry aanwezig is in de cache voordat je er iets mee gaat doen.
Je hebt verder veel meer zeggenschap over hoe de cache met je gegevens omgaat door Cache.Add() te gebruiken.
Tip: GEEN HttpContext, maar HttpRuntime.Cache gebruiken. HttpContext heeft eik alleen maar nadelen, zeker als je op een bepaald moment met background threads wil gaan werken :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:42

gorgi_19

Kruimeltjes zijn weer op :9

Predje schreef op maandag 10 april 2006 @ 10:19:
[...]


Haha, ja je hebt me overtuigd. Het is echt geen "nette" oplossing.
Dat cache klinkt wel intressant zal er eens wat over gaan lezen.
Ook met een cache heb je een basis nodig; dat kan bijvoorbeeld een XML-bestand zijn met de .config extensie of een db :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Met de ASP.NET Cache moet je overigens ook op type controleren, niet alleen op bestaan van iets ;)

[ Voor 4% gewijzigd door _Thanatos_ op 10-04-2006 21:20 ]

日本!🎌


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:42

gorgi_19

Kruimeltjes zijn weer op :9

_Thanatos_ schreef op maandag 10 april 2006 @ 21:20:
Met de ASP.NET Cache moet je overigens ook op type controleren, niet alleen op bestaan van iets ;)
Het maffe is en blijft dat ik met geen mogelijkheid dit heb kunnen reproduceren :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1