我有一个WCF服务但是,直到运行时,我不知道服务的正确地址。它可能是:
http://example1.com/MyService.svc
// or
http://example2.com/MyService.svc
该服务由类库(DAL)使用。我有两个选择:
使用哪个选项?另外如果您推荐选项二,那么我的客户端包装器类应该是单例还是我可以在每次调用时创建所有连接内容?
答案 0 :(得分:2)
您可以指向localhost或开发中的任何其他地址,然后在生产中,如果网址更改,您只需修改web.config或已配置WCF端点的app.config。
答案 1 :(得分:1)
选项1 - 你获得了所有的优势,没有任何痛苦。只需使用面向工厂的东西(即不要做new MyProxy()
,而是将代码固定在某个中心位置,如静态CreateMyProxy()
方法,或考虑 IoC / DI容器)