2010-01-12 2 views
17

L'exception de compilation "Le système de configuration actuel ne prend pas en charge les paramètres définis par l'utilisateur" est levée lors de la navigation vers un service WCF sur notre serveur de transfert."Le système de configuration actuel ne prend pas en charge les paramètres utilisateur"

Nous recevons cette exception via l'application qui utilise le service WCF et lorsque nous accédons directement à la page de test .svc.

Cela fonctionne très bien sur nos serveurs de test - et les sites Web sont configurés de la même manière (dans IIS, dans le système de fichiers, etc.).

Est-ce que quelqu'un a une idée de ce que ce serait?

Répondre

18

Les paramètres de portée utilisateur sont stockés dans un fichier de configuration caché dans le dossier C: \ Users \\ AppData \ Local \. Peut-être que la configuration de votre serveur interdit .Net d'écrire des fichiers là-bas?

Avez-vous des paramètres de portée d'utilisateur? Je ne pense pas que ce soit nécessaire pour un service? Peut-être que vous devriez changer les paramètres à Application Scope et votre problème est résolu.

+0

Je n'ai pas C: \ Users dossier sur chaque serveur (mise en scène ou test) et le web.config pour le service WCF ne contient pas appsettings ou les paramètres de portée utilisateur - nous n'obtenons cette exception pour certains, pas tous les fichiers .svc - y a-t-il autre chose à laquelle vous pouvez penser? Merci! –

+0

c: \ documents and settings \ ... peut-être pour les anciennes versions de Windows? Je ne peux pas penser à autre chose maintenant ... –

24

Cette opération était en train d'échouer car l'un des paramètres d'un projet que le service Web WCF référençait avait sa portée définie sur "utilisateur" plutôt que sur "application". Je recommanderais donc aux gens de vérifier les projets référencés par le projet webservice, ainsi que le projet webservice lui-même, et de s'assurer que la portée de tous les paramètres est l'application plutôt que l'utilisateur.

Espérons que cela aidera quelqu'un qui essaie de se creuser la tête à propos de quelque chose de similaire.

+0

Merci! Cela m'a juste sauvé beaucoup d'ennuis. Pour tous ceux qui lisent ceci, IIS a semblé mettre en cache le fichier de paramètres et malgré le redéploiement de mon projet WCF à plusieurs reprises, la suppression du fichier web.config et le redémarrage d'IIS n'avaient aucun effet. Ce n'est que lorsque j'ai commenté le code incriminé, rediffusé, que j'ai recopié le code, puis que je l'ai répété pour que cela fonctionne. – GrandMasterFlush

+0

Je suis allé dans les propriétés du projet référencé -> Paramètres et a changé la portée des variables à la portée de l'application. Résolu. Merci! – cederlof

20

Mon problème était simple, vérifiez dans la page Settings.setting du projet/fichier pour voir si la colonne Scope est réglé sur User au lieu de Application:

enter image description here

+1

C'est exactement la même chose que la réponse de Robert W, mais 4 ans de retard ... – PTuckley

+0

@PTuckley, mais il y a une jolie image. :-P – Ads

0

Dans mon cas, le problème est que la La propriété "URL Behavior" a été définie sur "Dynamic" au lieu de "Static" dans la référence du service Web. Après l'avoir réglé sur Statique, le problème s'est dissipé.

Properties

Questions connexes