我想创建一个简单的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.
我做错了什么?:(
添加服务引用使用WSDL或WS-MetadataExchange.这两个都是SOAP结构.REST没有元数据标准.您必须自己滚动消息,最好使用框架.您是否看过作为新Web API一部分的HttpClient?它可以通过Nuget获得
归档时间: |
|
查看次数: |
4638 次 |
最近记录: |