我在 App.config 中有以下对我的服务的引用:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_Statistics" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://Statistics-test.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_Statistics"
contract="am.Statistics"
name="BasicHttpBinding_Statistics" />
</client>
</system.serviceModel>
所以我想知道使用以下两个选项使用服务有什么区别。
选项 1:
此选项将默认使用我在 App.config"http://Statistics-test.svc"中的终结点地址
using (StatisticsClient client = new StatisticsClient())
{
var res = client.GetWhatever();
}
选项 2: 这里想提供服务指向生产的 URL(两者都相同(,所以我将提供"endpointConfigurationName"和"远程地址"="http://Statistics-prod.svc">
string Url = "http://Statistics-prod.svc";
using (StatisticsClient client = new StatisticsClient(BasicHttpBinding_Statistics,Url))
{
var res = client.GetWhatever();
}
我想知道在选项 2 中将参数传递给 WCF 是否有任何性能或任何其他问题。值得一提的是,这两种方式都可以正常工作,但第二种选择更简单,因为我可以根据需要动态更改 URL。
我感谢您的帮助。
第一种方法允许您更改终结点,而无需重新生成应用程序。但其余的执行方式相同