想要创建一个客户端,通过WCF将序列化的消息对象发送回服务器。
为了让最终开发人员(不同部门)更容易操作,最好他们不需要知道如何编辑配置文件来设置客户端端点数据。
话虽如此,如果端点也没有嵌入/硬编码到客户端中,则会更加出色。
对我来说,混合场景似乎是最容易实现的解决方案:
IF(在配置中描述)USE config file ELSE fallback to hard-coded endpoint。
我的研究结果是:
new Client();
如果没有找到配置文件定义,则失败。new Client(binding,endpoint);
可以工作
因此:
Client client;
try {
client = new Client();
}catch {
//Guess not defined in config file...
//fall back to hard coded solution:
client(binding, endpoint)
}
除了使用try/catch以外,是否有任何方式可以检查配置文件中是否声明了端点?
如果在配置文件中定义但没有正确配置,上述方法是否也会失败?区分这两种情况会很好吧?