Файл конфигурации на стороне клиента службы REST WCf пуст - PullRequest
2 голосов
/ 26 июля 2011

У меня есть служба REST, и я добавил ее ссылку в свое приложение WPF.Но как только я создаю клиента моего прокси, он выдает ошибку и выдает ошибку, потому что мой клиентский app.config пуст:

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

Эта строка на клиенте выдает ошибку:

 HelloWorldClient client = new HelloWorldClient();

Это мой раздел system.servicemodel web.config на стороне сервера:

 <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 Ответ

4 голосов
/ 26 июля 2011

Как упоминалось в некоторых других сообщениях (например, После создания службы wcf, как узнать, является ли ее restful или мыло из wsdl? и Создать прокси WCF для веб-службы отдыха , среди прочего), Add Service Reference не работает для конечных точек REST. Вам нужно будет создать клиента самостоятельно.

Еще одна проблема в вашем файле web.config: для создания конечной точки REST вам нужно, чтобы оба webHttpBinding (что вы делаете) и добавляли поведение конечной точки <webHttp/> к вашей конечной точке (которое Вы не).

...