Partager via


Comment : configurer les services ASP.NET dans ASP.NET AJAX

Mise à jour : novembre 2007

Cette rubrique décrit comment définir la configuration qui permet aux applications clientes ASP.NET AJAX d'appeler les services Web ASP.NET (fichiers .asmx). Cette rubrique présente les tâches suivantes :

  • Configuration des services Web afin d'activer des appels à partir du script client.

  • Configuration de la sérialisation JSON.

  • Configuration du service d'authentification.

  • Configuration du service de rôle.

  • Configuration du service de profil.

Les paramètres de configuration sont tous effectués dans le groupe de configuration system.web.extension. Pour plus d'informations, consultez system.web.extensions, élément (Schéma des paramètres ASP.NET).

Configuration des services Web afin d'activer des appels à partir du script client

La procédure suivante décrit comment configurer des services Web ASP.NET afin qu'ils puissent être appelés à partir du script client. Pour plus d'informations, consultez Exposition de services Web au script client.

Pour les appels de service Web qui ne sont pas émis à partir du script client ASP.NET AJAX, la classe de gestionnaire ScriptHandlerFactory délègue l'appel au gestionnaire par défaut qui utilise le format SOAP au lieu du format JSON. Cela est effectué en interne et vous n'avez rien à faire. Vous pouvez également désactiver le protocole SOAP pour les services Web.

Pour désactiver le protocole SOAP pour les services Web

  • Dans le fichier Web.config du site Web, effacez tous les protocoles pour les services Web, comme indiqué dans l'exemple suivant :

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

Pour configurer des services Web afin d'activer des appels à partir du script client

  • Dans le fichier Web.config du site Web, inscrivez le gestionnaire HTTP ScriptHandlerFactory.

    Ce gestionnaire traite les appels émis à partir du script vers les services Web.

    Remarque :

    Ces paramètres de configuration font partie du modèle de fichier Web.config pour tous les nouveaux sites Web AJAX que vous créez dans Microsoft Visual Studio 2005. 

    L'exemple suivant présente l'élément Web.config pour inscrire le gestionnaire.

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

Configuration de la sérialisation JSON

Lorsque le script client appelle des services Web ASP.NET, les données sont échangées au format JSON. Vous pouvez configurer des paramètres de sérialisation JSON via l'élément jsonSerialization.

Pour configurer la sérialisation JSON

  1. Ouvrez le fichier Web.config du site Web.

    Remarque :

    Si vous créez un service Web dans Microsoft Visual Studio 2005, le fichier Web.config contient la section system.web.extensions avec les éléments enfants commentés.

  2. Dans l'élément webServices, ajoutez l'élément jsonSerialization.

    Cet élément vous permet de spécifier des convertisseurs personnalisés et de substituer les paramètres par défaut.

  3. Définissez les attributs de sérialisation suivants. Tous les attributs sont facultatifs.

    • recursionLimit. Spécifie la profondeur maximale de sérialisation des types. La limite de récurrence par défaut est 100.

    • maxJsonLength. Spécifie la longueur maximale de la chaîne JSON (le nombre maximal de caractères UTF-8). La valeur par défaut de la longueur est 102 400.

    L'exemple suivant indique comment configurer l'élément jsonSerialization. Dans l'exemple, maxJsonLength a la valeur 5 000.

    <configuration>
      <system.web.extensions>
        <scripting>
          <webServices>
            <jsonSerialization maxJsonLength="5000"/>
          </webServices>
        </scripting>
      </system.web.extensions>
    </configuration>
    
  4. Si vous souhaitez utiliser un convertisseur personnalisé, dans l'élément jsonSerialization, ajoutez l'élément converters.

    Cet élément nécessite les attributs suivants :

    • name   Un identificateur unique.

    • type   Le nom de type qualifié complet du convertisseur.

    L'exemple de code suivant montre comment configurer un convertisseur personnalisé.

    <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>
    

Configuration des services d'application afin d'activer des appels à partir du script client

Les procédures suivantes décrivent comment configurer les services d'application intégrés pour activer des appels de script dans les applications Web compatibles AJAX qui s'exécutent dans le navigateur.

Pour plus d'informations sur les services d'application ASP.NET, consultez les rubriques suivantes :

Pour configurer le service d'authentification

  1. Ouvrez le fichier Web.config du site Web.

  2. Dans l'élément authentication, activez l'authentification par formulaire.

    L'exemple suivant présente un élément authentication configuré pour utiliser l'authentification par formulaire. Toute tentative par un utilisateur non authentifié d'accéder à une ressource protégée est redirigée vers la page Login.aspx dans la racine du site Web.

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

    Pour plus d'informations, consultez Utilisation de l'authentification par formulaire avec ASP.NET AJAX.

  3. Dans l'élément system.web.extensions, activez le service d'authentification.

    L'exemple suivant montre comment activer le service d'authentification.

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

Pour configurer le service de rôles

  1. Ouvrez le fichier Web.config du site Web.

  2. Dans l'élément system.web.extensions, activez le service de rôles.

    L'exemple suivant montre comment activer le service de rôles.

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

Pour configurer le service de profil

  1. Ouvrez le fichier Web.config du site Web.

  2. S'ils ne sont pas déjà définis, définissez les propriétés de profil que vous souhaitez exposer dans l'application.

    Vous définissez les propriétés de profil dans la section profile en utilisant la syntaxe telle que celle de l'exemple suivant. Pour les propriétés groupées, utilisez l'élément 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>
    

    Pour plus d'informations, consultez Vue d'ensemble des propriétés du profil ASP.NET.

  3. Dans l'élément system.web.extensions, activez le service de profil.

    L'exemple suivant montre comment activer le service de profil.

    <system.web.extensions>
      <scripting>
        <webServices>
          < profileService enabled="true" />
        </webServices>
      </scripting>
    </system.web.extensions>
    
  4. Pour chaque propriété de profil que vous souhaitez rendre disponible dans une application cliente, ajoutez le nom de la propriété à l'attribut readAccessProperties de l'élément profileService.

  5. Pour chaque propriété de profil de serveur qui peut être mise à jour depuis le script client, ajoutez le nom de propriété à l'attribut writeAccessProperties.

    L'exemple suivant montre comment exposer des propriétés individuelles et définir la possibilité pour une application cliente de les lire et de les écrire.

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

Voir aussi

Tâches

Comment : configurer les services WCF dans ASP.NET AJAX

Concepts

Vue d'ensemble de la configuration ASP.NET

Hiérarchie du fichier de configuration ASP.NET et héritage

Modification des fichiers de configuration ASP.NET

Référence

system.web.extensions, élément (Schéma des paramètres ASP.NET)

System.Web.Configuration

Autres ressources

Paramètres de configuration ASP.NET

API de configuration ASP.NET