CORRECTIF : Une application qui repose sur le Microsoft.NET Framework 2.0 Service Pack 2 et qui appelle un appel de service Web de manière asynchrone lève une exception sur un ordinateur qui exécute Windows 7

Symptômes

Sur un ordinateur qui exécute Windows 7, vous rencontrez un ou plusieurs des problèmes suivants.

Symptôme 1

Considérez le scénario suivant :
  • Vous exécutez un service Web asynchrone qui utilise le Microsoft.NET Framework 2.0 Service Pack 2 (SP2) sur un serveur.

  • L’opération asynchrone HttpWebRequest envoie une requête Web au service Web.
  • Le service Web lève une exception.
Dans ce scénario, l’opération asynchrone HttpWebRequest n’appelle pas la méthode BeginGetResponse ou la fonction de rappel. Toutefois, l’opération asynchrone de HttpWebRequest est inattendue achevée. Le service Web puis cesse de répondre. En outre, l’utilisation de l’UC sur le serveur peut augmenter à 100 pour cent, et le serveur cesse de répondre.

Symptôme 2

Considérez le scénario suivant :
  • Vous exécutez une application basée sur le.NET Framework 2.0 SP2 qui appelle un service Web en utilisant les composants du Kit de développement Microsoft ASP.NET Web service client de Microsoft. Par exemple, le code d’application est généré par le processus de Wsdl.exe, ou que l’application appelle la classe SoapHttpClientProtocol .
  • Le client appelle l’appel de service Web de manière asynchrone.
  • Le client envoie une demande à un serveur.
  • Puis, le client reçoit une réponse Web qui possède un contenu de longueur nulle.
Lorsque le service Web essaie de traiter la réponse dans ce scénario, une exception System.ArgumentNullException est levée. Ensuite, le message d’erreur suivant s’affiche :
Valeur ne peut pas être null.
Remarque Ce problème ne se produit pas lorsque le client appelle l’appel de service Web synchrone.

Cause

Symptôme 1

Ce problème se produit parce que la gestion des exceptions de.NET Framework ne tient pas compte de la casse dans laquelle la méthode HttpWebRequest.EndGetRequestStream lève une exception lorsque cette exception contient une réponse du serveur.

Résolution

Informations sur le correctif

Un correctif pris en charge est désormais disponible auprès de Microsoft. Toutefois, il est conçu pour résoudre uniquement le problème décrit dans cet article. Il s’applique uniquement aux systèmes rencontrant ce problème spécifique.

Pour télécharger ce correctif logiciel, visitez le site Web Microsoft Connect suivant :

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Pour plus d’informations sur les problèmes qui sont décrits dans la section « Symptômes » 1, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

CORRECTION de 973134 : le service Web cesse de répondre, et une exception est levée lorsque vous exécutez un service Web asynchrone.NET Framework 2.0 S

Pour plus d’informations sur les problèmes qui sont décrits dans la section « Symptômes » 2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

973136 correctif : message d’erreur d’exception ArgumentNullException lorsqu’une application basée sur.NET Framework 2.0 S tente de traiter une réponse avec du contenu de longueur nulle à une demande de service ASP.NET Web asynchrone : « La valeur ne peut pas être null »

Propriétés

ID d'article : 977020 - Dernière mise à jour : 13 janv. 2017 - Révision : 1

Commentaires