使用wcf服务时配置App.Config文件的正确方法是什么

时间:2016-04-12 13:39:23

标签: wpf vb.net wcf visual-studio-2015 wcf-binding

假设我有一个简单的WPF或Winforms解决方案。在该解决方案中,我添加了一个新项目(基于类库模板,然后我在主项目中引用),该项目旨在成为包含实体框架数据模型的数据层。当我在新项目中创建数据模型时,它使用的连接字符串将添加到解决方案中主项目的app.config文件中。

现在让我们说我想在解决方案中再添加两个项目(这两个项目将再次基于类库),以包含我希望使用的WCF服务的详细信息。在每种情况下,我都使用项目的右键单击上下文菜单中的ADD服务引用选项添加WCF服务。

与数据模型项目不同,虽然服务模型的绑定被添加到本地项目app.config文件中,而不是主要启动项目的app.config文件。

我应该简单地将这些绑定复制到启动项目的app.config文件中,还是应该复制然后删除,或者实际上我应该做一些完全不同的事情。到目前为止尝试结合前两个建议我得到与端点配置相关的错误消息,但是我对WCF的了解并不足以完全理解错误列表指向我的MSDN文章。

请注意,如果将服务引用添加到主项目中,则不会出现任何错误,因此我认为这必须是某些描述的配置问题。

是否有人能够提供正确的程序来添加基本上只包含对现有visual studio解决方案的WCF服务引用的项目。

修改

下面的屏幕截图显示了从两个服务合同复制绑定配置后的主app.cofig文件。我不确定我是否应该评论一下我做过的事情,我曾经想过,通过这样做,我可能会摆脱蓝色波浪形的下划线,告诉我以下事项(我必须承认不理解):< / p>

Warning     The 'contract' attribute is invalid - The value 'ErsLiveService.IERSAPIService' is invalid according to its datatype 'clientContractType' - The Enumeration constraint failed.

enter image description here

1 个答案:

答案 0 :(得分:0)

您可能会获得蓝色波浪形,因为命名空间ErsTestService是在您创建服务引用的项目中定义的。如果该项目的根命名空间为MyServiceReferenceProject,请尝试将命名空间更改为MyServiceReferenceProject.ErsTestService.IERSAPIService