WCF配置

时间:2017-03-30 23:57:10

标签: c# performance web-services wcf

我在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。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

第一种方法允许您在不需要重建应用程序的情况下更改端点。但其余的表现方式相同