简单的 WCF REST 客户端 - 添加服务引用错误
本文关键字:添加 服务 引用 错误 客户端 WCF REST 简单 | 更新日期: 2023-09-27 18:33:55
我想制作一个简单的WCF Hello世界客户端,它可以连接到WCF REST服务。
但是我有以下错误:
"在 ServiceModel 客户端配置部分找不到引用协定'ServiceReference1.IService1'的默认终结点元素。这可能是因为找不到应用程序的配置文件,或者因为在客户端元素中找不到与此协定匹配的终结点元素。
我做了什么:
-我使用"WCF 服务应用程序"模板创建了一个名为"WCFerror"的新项目
-我的web.config是这样的:http://pastebin.com/KEGqRgPr
-我的服务界面也很简单:
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebGet(UriTemplate = "GetData?value={value}", ResponseFormat = WebMessageFormat.Json)]
string GetData(int value);
}
-我创建了一个新的控制台应用程序。
- 我启动了WCFerror服务的新实例(通过"启动调试"(,它是托管的,我在Web浏览器中尝试了它(如:http://localhost:58475/Service1.svc/GetData?value=4
(,它工作正常。
-然后我添加了对控制台应用程序的服务引用(地址为:http://localhost:58475/Service1.svc
(,在后台,svcutil生成了客户端代码和一个app.config - 但是一个空的app.config!
-所以我的客户端不起作用:
ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
Console.WriteLine(client.GetData(4));
-我尝试通过命令提示符运行 svcutil,如下所示:
svcutil.exe /language:cs /out:GeneratedProxy.cs /config:app.config http://localhost:58475/Service1.svc
但它生成相同的空 app.config。
我做错了什么?:(
Add Service Reference 使用 WSDL 或 WS-MetadataExchange。这两者都是 SOAP 构造。REST 没有元数据标准。您必须自己滚动消息,最好使用框架。你有没有看过作为新Web API一部分的HttpClient?它可以通过Nuget获得