简单的WCF REST客户端 - 添加服务参考错误?

Zso*_*olt 4 .net c# rest wcf

我想创建一个简单的WCF Hello world客户端,它可以连接到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);
}
Run Code Online (Sandbox Code Playgroud)

- 我创建了一个新的控制台应用程序

- 我启动了我的WCFerror服务的新实例(通过"开始调试"),它是托管的,我在网络浏览器中尝试过(如:)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));
Run Code Online (Sandbox Code Playgroud)

- 我尝试通过命令提示符运行svcutil,如下所示:

svcutil.exe /language:cs /out:GeneratedProxy.cs /config:app.config http://localhost:58475/Service1.svc
Run Code Online (Sandbox Code Playgroud)

但它会生成相同的空app.config.

我做错了什么?:(

Ric*_*ett 5

添加服务引用使用WSDL或WS-MetadataExchange.这两个都是SOAP结构.REST没有元数据标准.您必须自己滚动消息,最好使用框架.您是否看过作为新Web API一部分的HttpClient?它可以通过Nuget获得