Résoudre les problèmes liés à Windows Communication Foundation (WCF) ou aux références WCF Data Services dans Visual Studio
S’applique à : Visual Studio
Cet article répertorie les solutions aux problèmes courants qui peuvent se produire lorsque vous utilisez des références à Windows Communication Foundation (WCF) ou WCF Data Services dans Visual Studio.
Si vous souhaitez mettre à jour ou supprimer une référence de service, consultez Ajouter, mettre à jour ou supprimer une référence de service de données WCF.
Erreur quand aucune adresse de service n’est fournie
Lorsque vous sélectionnez le bouton Aller sans adresse, vous pouvez voir un message d’erreur indiquant « Veuillez entrer l’adresse d’un service ». Pour résoudre ce problème, identifiez l’adresse du service et entrez-la.
- S’il s’agit d’un service dans votre solution, vous pouvez utiliser le bouton Découvrir pour le rechercher et le sélectionner, puis réessayer le bouton Atteindre .
- S’il s’agit d’un service hébergé quelque part sur Internet, ajoutez-le en suivant les instructions fournies dans Ajouter une référence de service WCF.
Erreur de retour de données à partir d’un service
Lorsque vous retournez un DataSet
ou DataTable
à partir d’un service, vous pouvez recevoir une exception « Le quota de taille maximale pour les messages entrants a été dépassé ». Par défaut, la MaxReceivedMessageSize
propriété de certaines liaisons est définie sur une valeur relativement petite pour limiter l’exposition aux attaques par déni de service. Vous pouvez augmenter cette valeur pour empêcher l’exception. Pour plus d’informations, reportez-vous à l’article MaxReceivedMessageSize.
Pour corriger cette erreur :
- Dans Explorateur de solutions, double-cliquez sur le fichier app.config pour l’ouvrir.
- Recherchez la
MaxReceivedMessageSize
propriété et remplacez-la par une valeur plus élevée.
Impossible de trouver un service dans ma solution
Lorsque vous sélectionnez le bouton Découvrir dans la boîte de dialogue Ajouter des références de service , un ou plusieurs projets de bibliothèque de services WCF dans la solution n’apparaissent pas dans la liste des services. Ce problème peut se produire si une bibliothèque de services a été ajoutée à la solution mais n’a pas encore été compilée.
Pour corriger cette erreur :
- Dans Explorateur de solutions, cliquez avec le bouton droit sur le projet Bibliothèque de services WCF.
- Sélectionnez Générer.
Erreur lors de l’accès à un service via un bureau à distance
Lorsqu’un utilisateur accède à un service WCF hébergé sur le web via une connexion Bureau à distance et qu’il ne dispose pas d’autorisations d’administration, l’authentification NTLM est utilisée. Si l’utilisateur ne dispose pas d’autorisations administratives, il peut recevoir le message d’erreur suivant : « La requête HTTP n’est pas autorisée avec le schéma d’authentification client 'Anonyme'. L’en-tête d’authentification reçu du serveur était « NTLM ».
Pour corriger cette erreur :
- Dans le projet de site web, ouvrez les pages Propriétés .
- Sous l’onglet Options de démarrage, désactivez la case case activée Authentification NTLM.
Remarque
Vous devez désactiver l’authentification NTLM uniquement pour les sites web qui contiennent exclusivement des services WCF. La sécurité des services WCF est gérée via la configuration dans le fichier web.config . Cela rend l’authentification NTLM inutile.
Le niveau d’accès pour le paramètre des classes générées n’a aucun effet
La définition de l’option Niveau d’accès pour les classes générées dans la boîte de dialogue Configurer les références de service sur Interne ou Friend peut ne pas toujours fonctionner. Même si l’option semble être définie dans la boîte de dialogue, les classes de prise en charge résultantes sont générées avec un niveau d’accès de Public
. Il s’agit d’une limitation connue de certains types, tels que ceux sérialisés à l’aide de XmlSerializer.
Erreur lors du débogage du code de service
Lorsque vous effectuez un pas à pas détaillé dans le code d’un service WCF à partir du code client, vous pouvez recevoir une erreur liée aux symboles manquants. Cela peut se produire lorsqu’un service qui faisait partie de votre solution a été déplacé ou supprimé de la solution.
Lorsque vous ajoutez pour la première fois une référence à un service WCF qui fait partie de la solution actuelle, une dépendance de build explicite est ajoutée entre le projet de service et le projet client de service. Cela garantit que le client accède toujours aux fichiers binaires de service à jour, ce qui est particulièrement important pour les scénarios de débogage tels que le pas à pas du code client vers le code de service.
Si le projet de service est supprimé de la solution, cette dépendance de build explicite est invalidée. Visual Studio ne peut plus garantir que le projet de service est reconstruit en fonction des besoins.
Pour corriger cette erreur, régénérez manuellement le projet de service :
- Dans le menu Outils, sélectionnez Options.
- Dans la boîte de dialogue Options , développez Projets et solutions, puis sélectionnez Général.
- Assurez-vous que la zone Afficher les configurations de build avancées case activée est cochée, puis sélectionnez OK.
- Chargez le projet de service WCF.
- Dans la boîte de dialogue Configuration Manager, définissez la configuration de la solution active sur Déboguer. Pour plus d’informations, consultez Guide pratique pour créer et modifier des configurations.
- Dans Explorateur de solutions, sélectionnez le projet de service WCF.
- Dans le menu Générer , sélectionnez Reconstruire pour reconstruire le projet de service WCF.
WCF Data Services ne s’affichent pas dans le navigateur
Lorsqu’il tente d’afficher une représentation XML de données dans un service de données WCF, Internet Explorer peut mal interpréter les données comme un flux RSS. Vérifiez que l’option permettant d’afficher les flux RSS est désactivée.
Pour corriger cette erreur, désactivez les flux RSS :
- Dans Internet Explorer, dans le menu Outils, sélectionnez Options Internet.
- Sous l’onglet Contenu , dans la section Flux , sélectionnez Paramètres.
- Dans la boîte de dialogue Paramètres du flux, désactivez la zone Activer le mode lecture du flux case activée, puis sélectionnez OK.
- Sélectionnez OK pour fermer la boîte de dialogue Options Internet.