UserService
。 UserService
引用了一个类库,我们称之为DoWork.dll
。 DoWork.dll
又引用了另一个我们称之为CompanyService
的WCF服务。当我首次尝试调用
UserService
时,会出现“未配置终结点”的错误消息。在网上查阅后,我发现需要将CompanyService
的绑定和客户端信息添加到UserService
的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"
显示错误:
如果我直接将'contract' 属性无效 - 值 'CompanyService.ICompanyService' 根据其数据类型 'clientContractType' 无效 - 枚举约束失败。
CompanyService
引用添加到 UserService
WCF 项目中,错误就会消失(显然)。然而,我不应该这样做。我已经尝试了完全限定 ICompanyService
契约所在的命名空间,但也不起作用。我已经删除了 .suo 文件并重建了项目,但也不起作用(在网上有人建议这样做)。此外,如果我输入 contract=
,我可以看到下拉列表,但找不到 CompanyService.ICompanyService
(只有当我直接在 UserService
项目中引用服务时才能找到)。我已经尝试使用
工具 > WCF 服务配置编辑器
进行配置,但没有帮助。值得注意的是,一切似乎都正常工作,但我不喜欢智能感知给我蓝色波浪线和错误消息的事实。我有一种感觉,我需要在
web.config
中添加其他内容才能使其正常工作,因为 UserService
引用了 DoWork.dll
,而 DoWork.dll
又引用了我无法正确查看其契约的 CompanyService
。非常感谢您的任何建议。提前致谢。