Monday, December 21, 2009

Skapa egna element i web.config

Har idag suttit och gjort så att vi kan läsa in en konfiguration för vilka lager som ska ligga som grund till en overlay. Eftersom vi skulle beskriva flera lager och flera bredder per typ på varje lager så fungerade det inte att lägg ai appConfig som ett namn värde par utan vi var tvungna att lägga det som egna element. Att skapa ett eget element var ganska enkelt en bra beskrivning finns här: http://msdn.microsoft.com/en-us/library/2tw134k3.aspx men i vanlig ordning så beskriver artikeln i msdn inte allt, så var det svårt att se hur man skulle få det att fungera med Collections, men till sist hittade en bra beskrivning här:
http://viswaug.wordpress.com/2007/09/19/using-custom-names-for-the-configurationelementcollection-entries/ Detta gjorde att vi enkelt kunde beskriva inställningarna:
<configuration> <configSections> <sectionGroup name="ArealsavdragGroup"> <section type="WebConfigSection.ArealsavdragsSection,WebConfigSection" name="Arealsavdrag"/> </sectionGroup> </configSections> <ArealsavdragGroup> <Arealsavdrag> <ArealsavdragsLagerCollection> <ArealsavdragsLager ArcImsLagerNamn="Test" ArcImsTypFalt="test" EgetExternt="1"> <ArealsavdragsBufferCollection> <Buffer Kod="Kod1" Bredd="10" /> <Buffer Kod="Kod2" Bredd="20" /> </ArealsavdragsBufferCollection> </ArealsavdragsLager> <ArealsavdragsLager ArcImsLagerNamn="Test2" ArcImsTypFalt="test2" EgetExternt="2"> <ArealsavdragsBufferCollection> <Buffer Kod="Kod3" Bredd="30" /> <Buffer Kod="Kod4" Bredd="40" /> </ArealsavdragsBufferCollection> </ArealsavdragsLager> </ArealsavdragsLagerCollection> </Arealsavdrag> </ArealsavdragGroup></configuration>