我有一个 WCF 服务,我们称之为UserService
。UserService
具有对类库的引用。让我们称之为DoWork.dll
。有DoWork.dll
一个 WCF 服务引用到我们将调用的不同服务CompanyService
。
现在,当我第一次尝试调用时,UserService
我会收到一个未配置端点的错误消息。在网上阅读后,我发现我需要将CompanyService
绑定和客户端信息添加到节点下的UserService
's中。web.config
<system.serviceModel>
这里是:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IComapnyService" />
</basicHttpBinding>
</bindings>
<client>
<endpoint name="BasicHttpBinding_ICompanyService"
address="http://it-dev.company.local:81/Project/Copmpany/CompanyService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IComapnyService"
contract="CompanyService.ICompanyService" />
</client>
我遇到的问题是向contract="CompanyService.ICompanyService"
我展示了错误:
“合同”属性无效 - 根据其数据类型“clientContractType”,值“CompanyService.ICompanyService”无效 - 枚举约束失败。
现在,如果我CompanyService
直接将引用添加到UserService
WCF 项目,错误就会消失(显然)。但是,我不应该这样做。我已经尝试完全限定ICompanyService
合同所在的命名空间,但这也不起作用。我已经删除了 .suo 文件并重建了项目,但这也不起作用(在网络上的其他地方建议)。此外,如果我键入contract=
,我会得到下拉列表但CompanyService.ICompanyService
无处可寻(仅当我直接在UserService
项目中引用该服务时)。
我已经尝试使用它来配置它Tools > WCF Service Configuration Editor
,但这没有帮助。
我应该注意到一切似乎都工作正常,但我不喜欢智能感知给我蓝色波浪下划线和错误消息的事实。我有一种感觉,我需要其他东西web.config
才能让它工作,因为UserService
引用了DoWork.dll
,这反过来又引用了CompanyService
我无法正确看到的合同。
任何建议都非常感谢。提前致谢。