【发布时间】:2013-09-25 03:26:05
【问题描述】:
我有一个简单的 wcf 休息服务。我可以使用 WCF 测试客户端对其进行测试。
我通过 svcutil.exe 创建了自己的测试客户端。这将构建并运行。但是,它在实例化服务对象时总是给出这个异常:
找不到引用合约的默认端点元素 ServiceModel 客户端配置部分中的“IBookService”。这 可能是因为没有为您的应用程序找到配置文件, 或者因为找不到与此合同匹配的端点元素 在客户端元素中。
我基本上是按照这里的教程进行操作的: http://www.codeproject.com/Articles/571813/A-Beginners-Tutorial-on-Creating-WCF-REST-Services
在本地运行时,我也无法通过 url 访问端点。我不清楚为什么本教程在尝试从浏览器访问服务时在 url 中有一个 .svc 文件。我在任何地方都没有 .svc 文件。
【问题讨论】:
-
您需要显示您的 app.config/web.config 相关部分。
-
使用 webapi 中的 WCF,您可以self host without a .svc file。执行此操作的所有信息都包含在配置文件中,并且大部分内容无需执行任何操作即可发生。
-
如果您使用的是 REST 服务,则不需要 svcutil。代理用于 SOAP 服务 - 您需要使用 HTTP API 来使用 REST 服务。
-
如果您按照链接到的文章进行操作,则 WCFTestClient 正在测试服务的 SOAP 版本,不是 REST 版本。要测试 REST 服务,您可以使用浏览器 - 如文章所示。