Поделиться через


Практическое руководство. Настройка служб WCF в ASP.NET AJAX

Обновлен: Ноябрь 2007

Среда Windows Communication Foundation (WCF) позволяет создать службу (SVC-файлы), которую можно вызывать из клиентских функций ECMAScript (JavaScript), выполняемых в веб-приложениях ASP.NET с поддержкой AJAX. В этом разделе описывается, как настроить службу таким образом, чтобы ее можно было вызывать из клиентского сценария. Службу можно настроить в элементе system.serviceModel файла Web.config, который является потомком раздела конфигурации.

Во время вызовов служб WCF для обмена данными между клиентским приложением и службой используется формат JSON.

Чтобы настроить службы WCF для использования вызовов из клиентского сценария, выполните следующие действия.

  1. Откройте файл конфигурации приложения (Web.config).

  2. Присвойте атрибуту aspNetCompatibilityEnabled элемента serviceHostingEnvironment значение true, как показано в example:

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    
  3. Настройте стек обмена сообщениями для применения в конвейере HTTP, как показано в следующем примере:

    <bindings>
        <webHttpBinding>
           <binding name="default"/>
        </webHttpBinding>
    </bindings>
    
  4. Настройте элемент behavior для конечных точек и служб, определив атрибуты endpointBehaviors и serviceBehaviors, которые содержатся в элементе behaviors.

    Элемент behavior должен быть настроен для элемента endpointBehaviors таким образом, чтобы веб-сценарии были включены. Элемент behavior для элемента serviceBehaviors должен быть задан так, чтобы метаданные службы публиковались для передачи с помощью запроса HTTP GET.

    В следующем примере показано, как настроить элементы behavior и endPointBehavior.

    <behaviors>
      <endpointBehaviors>
        <behavior name="webScriptEnablingBehavior">
          <enableWebScript/>
        </behavior>
      </endpointBehaviors>
    
      <serviceBehaviors>
        <behavior name="MyServiceTypeBehaviors">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    
  5. Настройте конечную точку для элемента service, чьи атрибуты webHttpBinding и behavioConfiguration заданы в предыдущих шагах.

    В следующем примере показано, как настроить элемент service.

    <services>
      <service name="Samples.Aspnet.SimpleService"
         behaviorConfiguration="MyServiceTypeBehaviors">
         <endpoint address="" binding="webHttpBinding"
           bindingConfiguration="default"
           contract="Samples.Aspnet.ISimpleService"
           behaviorConfiguration="webScriptEnablingBehavior"/>
      </service>
    </services>
    

См. также

Основные понятия

Предоставление доступа к службам WCF в клиентском сценарии

Другие ресурсы

<system.serviceModel>

Creating WCF Services for ASP.NET AJAX

How to: Use Configuration to Add an ASP.NET AJAX Endpoint

Поддержка JSON и других форматов передачи данных