Partager via


Échec d'un service hébergé par IIS

Si un service hébergé par IIS échoue, vous rencontrerez un ou plusieurs des symptômes suivants :

  • Lors de la recherche d'un dossier .svc, le fichier n'est pas reconnu, le navigateur affiche une page vierge ou le texte du fichier est affiché au lieu de la page d'aide du service comme dans l'exemple suivant.

    <%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>
    
  • Lorsque vous essayez d'accéder à un service hébergé sur le Web, vous pouvez rencontrer l'exception suivante.

    Unhandled Exception: System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (405) Method not allowed.
    

    Cela se produit en général si ASP.NET n'est pas installé ou si le type de fichier .svc n'est pas mappé au fichier aspnet_isapi.dll.
    Pour corriger cela, vous devez vous assurer que aspnet_isapi est activé en tant qu'extension de service Web pour IIS. Vous pouvez afficher et modifier ce paramètre à l'aide du Gestionnaire des services Internet ou en exécutant aspnet_regiis –i –enable à partir du répertoire d'installation .NET Framework. Vérifiez ensuite que ASP.NET est en cours d'exécution. Pour ce faire, placez un fichier .aspx test dans le répertoire \inetpub\wwwroot et assurez-vous qu'il peut être parcouru avec un navigateur.

  • Si vous avez installé IIS après que Windows Communication Foundation (WCF) a été installé, vous devez exécuter la commande suivante.

    "%WINDIR%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r
    

    Les tables de scripts obligatoires sont alors enregistrées dans IIS.
    Vous devez également vous assurer que le type de fichier .svc est mappé à aspnet_isapi.dll.

Pour vérifier que le type de fichier de svc est mappé pour être géré par aspnet_isapi.dll dans IIS 5.1 ou 6.0

  1. Ouvrez Gestion de l'ordinateur dans le Panneau de configuration.

  2. Développez Services et applications, Services Internet (IIS).

  3. Cliquez avec le bouton droit sur Sites Web et choisissez Propriétés.

  4. Dans l'onglet Répertoire de base, cliquez sur Configuration.

  5. Dans la liste des mappages d'application, vérifiez que le fichier .svc est mappé à aspnet_isapi.dll. Si le fichier n'a pas été mappé :

    1. Cliquez sur Ajouter.
    2. Cliquez sur Parcourir dans la boîte de dialogue Ajout/modification de mappage d'extension d'application.
    3. Accédez au dossier contenant le fichier aspnet_isapi.dll, puis cliquez sur Ouvrir.
    4. Spécifiez .svc comme extension.
    5. Assurez-vous que l'option de vérification d'existence du fichier est désactivée.
    6. Cliquez sur OK, puis à nouveau sur OK pour retourner à la boîte de dialogue Propriétés des sites Web.
  6. Cliquez sur OK pour fermer la boîte de dialogue.

Pour vérifier que le type de fichier de svc est mappé correctement dans IIS 7.0

  1. Ouvrez une fenêtre d'invite de commandes et tapez start inetmgr pour ouvrir le composant logiciel enfichable MMC des services IIS.

  2. Dans le volet gauche, développez le nœud portant le nom de l'ordinateur, puis développez le nœud Sites Web et sélectionnez Site Web par défaut.

  3. Double-cliquez sur Mappages de gestionnaires dans la vue des fonctionnalités.

  4. Dans la liste des mappages d'application, vérifiez que le fichier .svc est mappé à aspnet_isapi.dll. Si le fichier n'a pas été mappé :

    1. Cliquez sur Ajouter un gestionnaire de code managé.
    2. Tapez *.svc dans le chemin des demandes.
    3. Tapez System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 dans la zone de texte Type.
    4. Tapez svc-Integrated dans la zone de texte Nom.
    5. Cliquez sur OK.
    6. Cliquez sur Ajouter un mappage de scripts.
    7. Tapez *.svc dans le chemin des demandes.
    8. Tapez %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll dans la zone de texte Exécutable.
    9. Tapez svc-ISAPI-2.0 dans la zone de texte Nom.
    10. À l'aide des commandes Monter/Descendre, assurez-vous que le gestionnaire managé (svc-Integrated) apparaît avant le gestionnaire aspnet_isapi (svc-ISAPI-2.0) dans la liste.
    11. Cliquez sur OK.

Voir aussi

Concepts

Instructions relatives à l'hébergement dans les Services Internet (IIS)

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.