2016-05-03 4 views
0

Meine Anforderung ist es, mehrere Jobs zu haben und ich muss die JobName aller Jobs durchlaufen, um zu prüfen, ob es derzeit existiert.Schleife durch mehrere appSettings in der Konfigurationsdatei

<configuration> 
     <Job> 
     <appSettings> 
     <add key="JobName" value="BigDataUpload" /> 
     </appSettings> 
     </Job> 
     <Job> 
     <appSettings> 
     <add key="JobName" value="QueryUpload" /> 
     </appSettings> 
     </Job> 
    </configuration> 

Ich bin nicht sicher, ob diese Einrichtung in C# vorhanden ist. Momentan habe ich ein AppSettings in der Konfiguration und ich greife mit ConfigurationManager.AppSettings.Get ("JobName") darauf zu.

Jede Hilfe wird geschätzt !!

+0

http: //stackoverflow.com/questions/11351106/multiple-appsettings-files-is-it-possible Sie sollten verstehen, wie die 'App.config || Web.Config' Abschnitte funktionieren nur 1 '' – MethodMan

+0

appSettings unterstützt nur Schlüssel/Wert-Paare als Strings. Wenn Sie mehrere Werte für einen Schlüssel wie JobNames speichern müssen, speichern Sie die Werte als kommagetrennte Liste wie Mangist

Antwort

0

Ich weiß nicht, was getan werden kann, aber Sie können verwenden:

<configuration> 
    <appSettings> 
     <add key="JobName1" value="Job1" /> 
     <add key="JobName2" value="Job2" /> 
     ... 
     <add key="JobName(n)" value="Job3" /> 
    </appSettings> 
</configuration> 

Und dann können Sie eine Schleife um sie zu laden verwenden, bis sie null sind:

int jobNumber = 1; 
string lastJob = null; 
do 
{ 
    jobNumber++; 
    lastJob = ConfigurationManager.AppSettings["JobName" + jobNumber]; 

    if(lastJob != null) 
     //process the job name 

}while(lastJob != null);