У меня есть файл app.config, который имеет вид:
<?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>
Я хочу прочитать значение в атрибуте «address» конечной точки узла, имя которого равно «XXX».Пожалуйста, покажите мне, как это сделать!
(Продолжите ниже, обсуждая с marc_s. Извините, что поместил текст здесь, так как комментарии не позволяют форматировать коды) @marc_s: я использую приведенные ниже коды, чтобы прочитать вышеуказанный файл, ноэто показывает, что clientSection.Endpoints имеет 0 членов (Count = 0).Пожалуйста, помогите!
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();
}
}
}