我有:
- WCF服务〔应用程序1〕
- 与此服务通信的逻辑[Project1 Application2]
- 使用此逻辑的网页[Project2 Application2]
在Logic项目中,我向service添加了服务引用。在WebPage中,我添加了对Logic的项目引用。
现在Logic项目中定义了Service的端点,因此我无法从WebPage连接到Service。
我知道我的解决方案是将Logicconfig的一部分复制到WebPageconfig,但我认为这不是一个好的解决方案。
我希望逻辑作为一个黑盒。我不知道我是否会将其更改为另一项服务,也许会有所不同,所以我不想WebPage"知道">Logic是如何工作的。
有更好的解决方案吗?我可以在Logic项目中做一些事情,这将使WebPage知道如何连接到服务?
我感到异常:Could not find default endpoint element that references contract
另一个选项是通过将端点放置在代码中而不是配置文件中来配置Logic。当您创建web服务客户端时,请使用此重载,它将Binding和EndpointAddress作为参数。在Logic类的代码中,只需在代码中提供这些参数,而不是让它自动从配置文件中读取这些参数。