WCf REST服务客户端配置文件为空

时间:2011-07-26 09:37:24

标签: c# wpf wcf wcf-rest

我有一个REST服务,我在WPF应用程序中添加了它的引用。但是一旦我创建了我的代理的客户端,它就会抛出错误并且它会抛出错误,因为我的客户端app.config是空的:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>

客户端上的这一行引发错误:

 HelloWorldClient client = new HelloWorldClient();

这是我在服务器端的web.config的system.servicemodel部分:

 <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    <services>
      <service name="WCFRestExample.HelloWorld">
        <endpoint address="" binding="webHttpBinding" contract="WCFRestExample.IHelloWorld"/>        
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true" />
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true" />

        </behavior>

      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

有人可以告诉我为什么app.config为空?我也重新启动了VS2010,但没有运气。

注意:当我在浏览器中直接浏览它时,服务正在运行。因此,服务器端服务没有问题。

提前致谢:)

1 个答案:

答案 0 :(得分:4)

正如其他一些帖子所提到的(例如After creating a wcf service how do I tell whether its restful or soap from the wsdl?Create a WCF Proxy for a Rest Web Service等),添加服务引用不适用于REST端点。您需要自己创建客户端。

你的web.config中的另一个问题:为了创建一个REST端点,你需要让webHttpBinding(你这么做)<webHttp/>端点行为添加到你的端点(你没有)。