ApplicationPoolIdentity no tiene permiso de escritura para ASP.NET App_Data carpeta

Este artículo le ayuda a resolver el problema de que se produce un error (acceso denegado) cuando una aplicación web escribe datos en la carpeta ASP.NET App_Data web.

Versión del producto original:   Internet Information Services 7.5 y versiones posteriores
Número KB original:   2005172

Síntomas

Una aplicación web se crea mediante Microsoft Visual Studio y, a continuación, se publica en Internet Information Services (IIS) 7.5 o una versión posterior. Como parte del procesamiento de solicitudes de la aplicación, debe escribir datos en la carpeta App_Data en el servidor. Por ejemplo, la aplicación usa un SQLDataSource o XMLDataSource . Cuando intenta hacerlo, se muestra un mensaje de error similar al siguiente:

Detalles de excepción: System.UnauthorizedAccessException: se deniega el acceso a la ruta de acceso [ruta App_Data carpeta].

Causa

A partir de IIS 7.5 y versiones posteriores, la identidad predeterminada de un grupo de aplicaciones es ApplicationPoolIdentity. Cuando se crea una aplicación web mediante Visual Studio, la carpeta App_Data no se configura automáticamente para permitir el acceso de escritura para ApplicationPoolIdentity. Por lo tanto, el intento de escribir en la App_Data se producirá un error.

Solución

Para evitar este comportamiento, conceda permisos de ACL de lectura y escritura a ApplicationPoolIdentity (IIS APPPOOL\ApplicationPool) en la carpeta App_Data usuario.

Más información

ApplicationPoolIdentity es una cuenta de servicio administrado, que es un nuevo concepto introducido en Windows Server 2008 R2. Para obtener más información sobre las cuentas de servicio administrado, vea Novedades de las cuentas de servicio