如何用代码方式获取Web.config中system.serviceModel/client节点的address

以下代码GetAPIAddress将返回:http://localhost:2555/APITEST.asmx

using System.Web.Configuration;
using System.ServiceModel.Configuration;
   
        /// <summary>
        /// 获取Api地址
        /// 返回system.serviceModel/client/endpoint节点address属性值
        /// </summary>
        public static String GetAPIAddress
        {
            get
            {
                ClientSection clientSection = (ClientSection)WebConfigurationManager.GetSection("system.serviceModel/client");
                if (clientSection != null
                    && clientSection.Endpoints.Count > 0
                    && clientSection.Endpoints[0] != null
                    && clientSection.Endpoints[0].Address != null
                    )
                    return clientSection.Endpoints[0].Address.AbsoluteUri;
                return string.Empty;
            }
        }

Web.config配置信息:

<system.serviceModel>
   <bindings>
            <basicHttpBinding>
                <binding name="http" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="885536000" maxBufferPoolSize="524288" maxReceivedMessageSize="885536000" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="524288" maxArrayLength="524288" maxBytesPerRead="4096" maxNameTableCharCount="524288"/>
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
                        <message clientCredentialType="UserName" algorithmSuite="Default"/>
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
 
<client>
  <endpoint address="http://localhost:2555/APITEST.asmx" binding="basicHttpBinding" bindingConfiguration="XXXX" contract="Service.XXXX" name="XXXX" />
</client>
</system.serviceModel>
参考:




posted @ 2014-07-03 11:35  HTL  阅读(1479)  评论(0编辑  收藏  举报
htl