我在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: 这里想提供指向Production的服务的URL(两者都是相同的),所以我将提供“endpointConfigurationName”和“remote address”=“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。
感谢您的帮助。
答案 0 :(得分:0)
第一种方法允许您在不需要重建应用程序的情况下更改端点。但其余的表现方式相同