简单的 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。

我做错了什么?:(

简单的 WCF REST 客户端 - 添加服务引用错误

Add Service Reference 使用 WSDL 或 WS-MetadataExchange。这两者都是 SOAP 构造。REST 没有元数据标准。您必须自己滚动消息,最好使用框架。你有没有看过作为新Web API一部分的HttpClient?它可以通过Nuget获得