Ich habe eine app.config-Datei, die in Form von:Wie lese ich den Wert eines Attributs, das in app.config definiert ist?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint address="http://something.com"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFileTransfer"
contract="ABC" name="XXX" />
<endpoint address="http://something2.com"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFileTransfer"
contract="ABC2" name="YYY" />
</client>
</system.serviceModel>
</configuration>
ich den Wert in Attribut „Adresse“ des Knotens Endpunkt lesen möchten, die den Namen = „XXX“ hat. Bitte zeig mir, wie es geht!
(weiter belowing mit marc_s Disscussing leider den Text hier zu setzen, da Kommentar nicht erlauben, zu Formatcodes.) @marc_s: ich die folgenden Codes verwenden, um die oben angegebenen Datei zu lesen, aber es zeigt, dass die clientSection.Endpoints 0 hat Mitglieder (Anzahl = 0). Bitte helfen Sie!
public MainWindow()
{
var exeFile = Environment.GetCommandLineArgs()[0];
var configFile = String.Format("{0}.config", exeFile);
var config = ConfigurationManager.OpenExeConfiguration(configFile);
var wcfSection = ServiceModelSectionGroup.GetSectionGroup(config);
var clientSection = wcfSection.Client;
foreach (ChannelEndpointElement endpointElement in clientSection.Endpoints)
{
if (endpointElement.Name == "XXX")
{
var addr = endpointElement.Address.ToString();
}
}
}
sollten Sie eine * vshost.config“Datei nicht verwenden - das wird nur vorhanden sein, wenn Sie von Ihrem Programm ausführen in Visual Studio.Verwenden Sie stattdessen "MyApp.exe.config" !! –
@marc_s: Hallo, ich habe meinen Code aktualisiert. Obwohl die Anzahl der gelesenen Endpunkte immer noch Null ist. –
Ja, ich kann das sehen - mit meinem Code es funktioniert aber, versuche es! Benutze nicht '' ServiceModelSectionGroup.GetSectionGroup (config); 'und die folgenden Zeilen, sondern benutze stattdessen meinen Code (' ConfigurationManager.GetSection (....) ') - funktioniert in meinem Fall! –