2009-08-02 22 views
5

Tengo una aplicación ASP.NET que intenta escribir archivos en el servidor web durante el tiempo de ejecución. En mi entorno de desarrollo, esto funciona. Sin embargo, cuando implementarlo en el servidor de producción, y ejecutar el código, recibo un error que indica:ASP.NET + Se deniega el acceso a la ruta

"Access to the path 'C:\Inetpub\wwwroot\MyWebApp\DirToWriteTo\' is denied." 

Mi servidor de producción es una máquina de Windows Server 2003. La aplicación web está configurada para permitir el acceso anónimo a través de la cuenta IUSR_TEMPLATE.

¿Qué estoy haciendo mal?

¡Gracias!

Respuesta

1

El problema más probable es que su usuario anónimo no tenga acceso de escritura a la ubicación.

Lo que haría sería crear una entrada web.config para la ubicación que desea escribir y usar esa clave de configuración como su directorio de escritura. Esto le permitirá tener una configuración separada para su servidor de producción y su máquina de desarrollo, si es necesario.

A continuación, acaba de dar acceso de escritura en el directorio definido en la configuración para el usuario IUSER_TEMPLATE, o como Thorarin dijo que el servicio de red , en cuyo caso se deben establecer suplantación de identidad en su Web.config, para que pueda especifique el usuario (a menos que configure al usuario a través del grupo de aplicaciones). Eso debería arreglar el problema.

+1

Solo si el 'Web.config' tiene una sección' 'en su sección' '. De lo contrario, se utiliza el conjunto de identidades para el grupo de aplicaciones. Por defecto, es * Servicio de red * (que tiene acceso muy limitado) – Thorarin

+0

Eso es verdad. No pensé en eso inicialmente. Actualizaré mi respuesta para incluir eso. –

1

Si tiene Windows 2008 o superior, trate de darle permisos de escritura a IIS_IUSRS.

(servicio de red también ha trabajado para mí en el pasado. Por lo que leo here, que depende del sistema operativo del servidor.)

enter image description here

0

En mi caso, Visual Studio 2015 cambió de un proyecto existente IIS AppPool usuario a DefaultAppPool, que me dio errores de permiso, errores de configuración, errores del proveedor de funciones y errores de referencia nulos. Después de descubrir esto y volver a cambiarlo al grupo de aplicaciones en el que se establecieron los permisos de la carpeta, las cosas comenzaron a funcionar nuevamente.

Cuestiones relacionadas