基本上,我有一个需要使用 WCF 服务(Calculator.svc)的应用程序。在调试时,该服务托管在我的本地计算机上,但在发布时,该服务托管在 IIS 服务器上。
调试地址:http://localhost/MyProj/Services/Calculator.svc
发布地址:http://www.mycompany.com/Services/Calculator.svc
如果我不添加服务引用并手动构建服务,这不再是问题。但是,如果我将服务引用添加到我的本地主机地址,那么如何在发布模式下动态更改它?
注意:我确实意识到我可以创建一个新的 CalculatorClient 并输入我自己的 Binding 和 EndpointAddress,但这是正确的方法吗?
CalculatorClient client;
#if NOT DEBUG
Binding binding = new BasicHttpBinding("MyConfig");
EndpointAddress remoteAddress = new EndpointAddress("http://www.mycompany.com/Services/Calculator.svc");
client = new CalculatorClient(binding, remoteAddress);
#else
client = new CalculatorClient();
#endif
有没有更简单或更合适的方法来做到这一点?