2010-01-12 50 views
17

Estamos obteniendo una excepción de compilación "El sistema de configuración actual no admite ajustes del usuario" lanzado al navegar a un servicio WCF en nuestro servidor de transferencia."El sistema de configuración actual no es compatible con la configuración del usuario"

Estamos recibiendo esta excepción a través de la aplicación que consume el servicio WCF y cuando navegamos a la página de prueba .svc directamente.

Esto funciona bien en nuestros servidores de prueba, y los sitios web se configuran de la misma manera (en IIS, en el sistema de archivos, etc.).

¿Alguien tiene una idea de lo que sería esto?

Respuesta

18

La configuración del alcance del usuario se almacena en un archivo de configuración oculto en la carpeta C: \ Users \\ AppData \ Local \. ¿Tal vez la configuración de tu servidor prohíbe a .Net escribir archivos allí?

¿Tiene alguna configuración de ámbito de usuario? No creo que estos sean necesarios para un servicio? Tal vez debería cambiar la configuración a Application Scope y su problema se solucionó.

+0

no tengo una carpeta C: \ Users a cada servidor (ensayo o prueba) y el web.config para el servicio WCF no contiene appsettings o cualquier configuración de ámbito de usuario - que sólo está recibiendo esta excepción para algunos, no todos los archivos .svc, ¿hay algo más que se pueda imaginar? ¡Gracias! –

+0

c: \ documents and settings \ ... ¿quizás para versiones anteriores de Windows? No se puede pensar mucho más en este momento ... –

24

Esto se estaba bloqueando debido a que una de las configuraciones en un proyecto al que el servicio web WCF hacía referencia tenía su alcance establecido en "usuario" en lugar de "aplicación".

Así que recomendaría que las personas tengan cuidado de que verifiquen los proyectos a los que hace referencia el proyecto de servicio web, así como el propio proyecto web, y asegúrense de que el alcance de todas las configuraciones sea de aplicación en lugar de usuario.

Espero que ayude a alguien que está tratando de desquiciar su cerebro sobre algo similar.

+0

¡Gracias! Eso me ha ahorrado muchos problemas. Para cualquier otra persona que lea esto, IIS parecía almacenar en caché el archivo de configuración y, a pesar de que volví a implementar mi proyecto WCF varias veces, eliminar el archivo web.config y reiniciar IIS no tuvo ningún efecto. Fue solo cuando comenté el código ofensivo, se redesplotó, volví a llamar el código y luego lo repliqué para que funcionase. – GrandMasterFlush

+0

Fui a las propiedades del proyecto referenciado -> Configuración y cambié el alcance de las variables al alcance de la aplicación. Resuelto ¡Gracias! – cederlof

20

Mi problema era simple, el registro Settings.setting página del proyecto/archivo para ver si la columna Alcance se establece en User en lugar de Application:

enter image description here

+1

Esto es exactamente lo mismo que la respuesta de Robert W, pero 4 años tarde ... – PTuckley

+0

@PTuckley, pero hay una bonita imagen. :-PAG – Ads

0

En mi caso, el problema era que el La referencia de servicio web tenía su propiedad "Comportamiento de URL" establecida en "Dinámico" en lugar de "Estático". Después de configurarlo en Static, el problema desapareció.

Properties

Cuestiones relacionadas