2010-07-09 56 views
4

我的朋友有以下app.config。他想要得到address的价值。怎么做?如何从app.config获取此配置值?

<configuration> 
    <system.serviceModel> 
... 
      <client> 
      <endpoint address="http://ldo:8080/LLService" binding="wsHttpBinding" 
       bindingConfiguration="WSHttpBinding_ILLService" contract="LLServiceReference.ILLService" 
       name="WSHttpBinding_ILLService"> 
       <identity> 
        <userPrincipalName value="[email protected]" /> 
       </identity> 
      </endpoint> 
     </client> 
    </system.serviceModel> 
... 
</configuration> 

回答

2

查看<system.serviceModel> documentation in MSDN

你应该:

  1. 调用ServiceModelSectionGroup.GetSectionGroup方法
  2. 选择从serviceModelSectionGroup.Client.Endpoints收集的端点。大概你想看看一个特定的合同。
  3. 看那个端点的Address财产
+0

什么是我们应该传递到ServiceModelSectionGroup.GetSectionGroup方法的价值? – 5YrsLaterDBA 2010-07-09 16:26:23

+0

它可能来自'ConfigurationManager.OpenExeConfiguration' – 2010-07-09 17:28:16

7

试试这个获取第一端点

Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); 
ServiceModelSectionGroup serviceModelSectionGroup = ServiceModelSectionGroup.GetSectionGroup(configuration); 
ClientSection clientSection = serviceModelSectionGroup.Client; 
var el = clientSection.Endpoints[0]; 
return el.Address.ToString(); 
相关问题