Compartilhar via


Como: Configurar os serviços do ASP.NET ASP.NET AJAX

Este tópico descreve como definir as configurações que permitem que aplicativos cliente ASP.NET com AJAX habilitado chamem serviços do ASP.NET da Web (arquivos .asmx).Tarefas descritas neste tópico incluem o seguinte:

  • Configurando serviços da Web para permitir chamadas de script de cliente.

  • Configurando serialização JSON.

  • Configurando o serviço de autenticação.

  • Configurando o Serviço de função

  • Configurando o serviço do perfil.

Todas as definições de configuração são feitas no grupo de configuração system.web.extension.Para obter mais informações, consulte Sistema.Web.Extensions elemento (ASP.NET Settings Esquema).

Configurando Serviços da Web para Permitir Chamadas de Script de Cliente

O procedimento a seguir descreve como configurar os serviços da Web ASP.NET de modo que eles possam ser chamados a partir de script de cliente.Para obter mais informações, consulte Expondo Serviços Web a Script Cliente.

Para chamadas serviço Web que não são emitidas de clientes ASP.NET com AJAX habilitado (Script), a classe do manipulador ScriptHandlerFactory delega a chamada para o manipulador padrão, que usa SOAP em vez do formato JSON.Isso é executado internamente e você não necessitará executar qualquer ação.Você também pode desabilitar protocolo SOAP para serviços da Web.

Para desabilitar o protocolo SOAP para serviços da Web

  • No arquivo Web.config do site da Web, limpe todos os protocolos para serviços da Web, como mostrado no exemplo o seguir:

    <system.web>
      <webServices>
        <protocols>
          <clear/>
        </protocols>
      </webServices>
    </system.web>
    

Configurando Serviços da Web para Permitir Chamadas de Script de Cliente

  • No arquivo Web.config do site da Web, registre o manipulador HTML ScriptHandlerFactory.

    Esse manipulador processa chamadas feitas a partir de script para serviços da Web.

    Observação:

    Essas configurações fazem parte do modelo o arquivo web.config para qualquer novo site com AJAX habilitado que você criar no Microsoft Visual Studio 2005.

    O exemplo a seguir mostra o elemento web.config para registro do manipulador.

    <system.web>
      <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx"
          type="System.Web.Script.Services.ScriptHandlerFactory"
           validate="false"/>
      </httpHandlers>
    <system.web>
    

Configurando serialização JSON

Quando script de cliente chama os serviços da Web ASP.NET, os dados são trocados no formato JSON.Você pode configurar as definições de serialização JSON por meio do elemento jsonSerialization.

Para configurar a serialização JSON

  1. Abra o arquivo Web.config do seu site da Web.

    Observação:

    Se você criar um serviço Web no Microsoft Visual Studio 2005, o arquivo web.config contém a seção system.web.extensions com elementos filhos comentados.

  2. No elemento webServices, adicione o elemento jsonSerialization.

    Esse elemento permite que você especifique conversores personalizados e substitua as configurações padrão.

  3. Defina os seguintes atributos de serialização.Todos os atributos são opcionais.

    • recursionLimit.Especifica a profundidade máxima para o qual serializar tipos.O limite de recursão padrão é 100.

    • maxJsonLength.Especifica o comprimento máximo da seqüência de caracteres JSON (o número máximo de caracteres UTF-8).O comprimento padrão é 102400.

    O exemplo a seguir mostra como configurar o elemento jsonSerialization.No exemplo, maxJsonLength é definida como 5000.

    <configuration>
      <system.web.extensions>
        <scripting>
          <webServices>
            <jsonSerialization maxJsonLength="5000"/>
          </webServices>
        </scripting>
      </system.web.extensions>
    </configuration>
    
  4. Se você quiser usar um conversor personalizado, no elemento jsonSerialization, adicione o elemento converters.

    O elemento requer os seguintes atributos:

    • name   Um identificador exclusivo.

    • type   O nome de tipo totalmente qualificado do conversor.

    O exemplo a seguir mostra como configurar um conversor personalizado.

    <configuration>
      <system.web.extensions>
        <scripting>
          <webServices>
            <jsonSerialization maxJsonLength="50"/>
              <converters>
                <add name="MyCustomConverter" 
                  type="MyCompany.ConvertersNameSpace.MyTypeConverter"/>
              </converters>
            </jsonSerialization>
          </webServices>
        </scripting>
      </system.web.extensions>
    </configuration>
    

Configurando Serviços de Aplicativos para Permitir Chamadas a partir de Script de Cliente

Os procedimentos a seguir descrevem como configurar os serviços do aplicativo interno para permitir chamadas a partir de scripts em aplicativos da Web com AJAX ativado que estão em execução no navegador.

Para obter mais informações sobre serviços de aplicativos ASP.NET, consulte os tópicos a seguir:

Configurando o serviço de autenticação.

  1. Abra o arquivo Web.config do seu site da Web.

  2. No elemento authentication, ative a autenticação de formulários.

    O exemplo a seguir mostra um elemento authentication que está configurado para usar a autenticação de formulários.Qualquer tentativa de um usuário não autenticado de acessar um recurso protegido é redirecionada para a página Login.aspx na raiz do site.

    <system.web>
      <authentication mode="Forms">
        <forms cookieless="UseCookies" 
          loginUrl="~/login.aspx"/>
      </authentication>
    <system.web>
    

    Para obter mais informações, consulte Usando Formulários de Autenticação com AJAX do ASP.NET.

  3. No elemento system.web.extensions, ative o serviço autenticação.

    O exemplo a seguir mostra como ativar o serviço de autenticação.

    <system.web.extensions>
      <scripting>
        <webServices>
           <authenticationService enabled="true" />
        </webServices>
      </scripting>
    </system.web.extensions>
    

Para configurar o serviço de funções

  1. Abra o arquivo Web.config do seu site da Web.

  2. No elemento system.web.extensions, ative o serviço de funções.

    O exemplo a seguir mostra como ativar o serviço de funções.

    <system.web.extensions>
      <scripting>
        <webServices>
          <rolesService enabled="true" />
        </webServices>
      </scripting>
    </system.web.extensions>
    

Para configurar o serviço do perfil

  1. Abra o arquivo Web.config do seu site da Web.

  2. Se elas ainda não estiverem definidas, defina as propriedades de perfil que você deseja expor no aplicativo.

    Você define as propriedades de perfil na seção profile usando uma sintaxe como do exemplo a seguir.Para propriedades agrupadas, use o elemento group.

    <system.web>
      <profile enabled="true">
        <add name=" Backgroundcolor" type="System.String"
           defaultValue="white" />
        <add name=" Foregroundcolor" type="System.String"
         defaultValue="black" />
        <properties>
          <group name="Address">
           <add name="Street" type="System.String" />
           <add name="City" type="System.String"/>
           <add name="PostalCode" type="System.String" />
          </group>
        </properties>
      </profile>
    </system.web>
    

    Para obter mais informações, consulte Visão geral sobre propriedades de perfil do ASP.NET.

  3. No elemento system.web.extensions, ative o serviço de perfil.

    O exemplo a seguir mostra como ativar o serviço do perfil.

    <system.web.extensions>
      <scripting>
        <webServices>
          < profileService enabled="true" />
        </webServices>
      </scripting>
    </system.web.extensions>
    
  4. Para cada propriedade de perfil que você deseja tornar disponível em um aplicativo cliente, adicione o nome da propriedade ao atributo readAccessProperties do elemento profileService.

  5. Para cada propriedade de perfil do servidor que pode ser atualizada a partir de script de cliente, adicione o nome da propriedade ao atributo writeAccessProperties.

    O exemplo a seguir mostra como expor as propriedades individuais e definir se uma aplicativo cliente pode ler e gravá-los.

    <profileService enabled="true" 
        readAccessProperties="Backgroundcolor,Foregroundcolor" 
        writeAccessProperties=" Backgroundcolor,Foregroundcolor"/>
    

Consulte também

Tarefas

Como: Configurar os serviços WCF ASP.NET AJAX

Conceitos

Visão Geral da Configuração ASP.NET

Hierarquia e Herança do Arquivo de Configuração do ASP.NET

Editando Arquivos de Configuração ASP.NET

Referência

Sistema.Web.Extensions elemento (ASP.NET Settings Esquema)

System.Web.Configuration

Outros recursos

Definições de configuração ASP.NET

API de Configuração do ASP.NET