Использовать сервис WCF в приложении Windows? - PullRequest
1 голос
/ 08 августа 2011

Я создал сервис WCF в проекте.Теперь, используя Jquery, я успешно могу использовать службу, но когда я попытался добавить службу в качестве веб-ссылки в приложении Windows, я не могу вызвать ее.Если я создаю простой сервис, я могу успешно вызывать в приложении Windows, но если я делаю изменения, чтобы вызвать сервис для jquery, который я нашел, выполнив некоторый поиск Google.Я не знаю, где мне не хватает.

Ниже приведен код, который я сделал.Это интерфейс для WCF.

[ServiceContract]
public interface ITestService
{
    [OperationContract]
    void DoWork();

    [OperationContract]
    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]    
    string HelloWorld();
}

Интерфейс, вызывающий класс

    public class TestService : ITestService
{
    public void DoWork()
    {
    }


    public string HelloWorld()
    {
        return "Hello World";
    }
}

}

, и вот веб-конфигурация для приложения.

<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior name="TestWCFBehavior">
                <serviceMetadata httpGetEnabled="true"/>
                <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
        </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="TestWCFBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>

    <!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />-->
  <services>
    <service name="WebAppWithWCF.TestService" behaviorConfiguration="TestWCFBehavior">
      <endpoint address="" binding="webHttpBinding" contract="WebAppWithWCF.ITestService" behaviorConfiguration="TestWCFBehavior"/>
    </service>
  </services>
</system.serviceModel>

Я сделал несколько попыток и ошибок, но до сих пор не нашел пути ...

Пожалуйста, помогите ... и дайте мне знать, если какая-либо информация отсутствует с моей стороны.

1 Ответ

2 голосов
/ 08 августа 2011

webHttpBinding не предоставляет метаданные, поэтому вы не можете добавить ссылку на него.

По сути, функция Добавить ссылку на службу генерирует прокси и классы на основе того, что известно об услуге (предоставляется через метаданные / WDSL ).

Сервисы с wsHttpBinding или basicHttpBinding предоставляют доступ к метаданным вашего сервиса.Обычно они используются при создании клиент-серверного приложения .NET для .NET.

Реализация обоих связываний: Служба WCF с webHttpBinding-basicHttpBinding-wcHttpBinding

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...