以下代码GetAPIAddress将返回:http://localhost:2555/APITEST.asmx
using System.Web.Configuration;
using System.ServiceModel.Configuration;
/// <summary>
/// 获取Api地址
/// 返回system.serviceModel/client/endpoint节点address属性值
/// 获取Api地址
/// 返回system.serviceModel/client/endpoint节点address属性值
/// </summary>
public static String GetAPIAddress
{
get
{
ClientSection clientSection = (ClientSection)WebConfigurationManager.GetSection("system.serviceModel/client");
if (clientSection != null
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;
}
}
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>参考: