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 ASP.NET carpeta App_Data .

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

Síntomas

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

Detalles de la excepción: System.UnauthorizedAccessException: se deniega el acceso a la ruta de acceso [ruta de acceso a 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, se producirá un error al intentar escribir en la carpeta App_Data .

Solución

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

Más información

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