Pregunta

Mi rol web de Azure debe poder eliminar archivos locales temporales almacenados en un subcarpeta de APP_DATA. Quiero usar ICACLS en una tarea de inicio elevada de Azure para permitir que IIS haga esto de la siguiente manera:

ICACLS APP_DATA /Grant "IIS_IUSRS" :( OI) (CI) F

Sin embargo, mi tarea de inicio se ejecuta en:

E: bin

Mientras que la carpeta raíz donde la aplicación web realmente termina y se ejecuta desde parece ser:

E: Sitesroot 0

Soy reacio a codificar esta ruta en caso de que Microsoft cambie esto. ¿Hay alguna manera de obtener esta ruta dentro de la tarea de inicio o puedo confiar en este destino?

Para probar esto en un ASPX, agrego:

Label1.Text = "MapPath: " + Server.MapPath("~/");
Label2.Text = "RoleRoot: " + Environment.GetEnvironmentVariable("RoleRoot");

Cuando ejecuto esto en una instancia implementada, obtengo:

Mappath: E: Sitesroot 0 roleroot:

es decir, el roleroot está vacío.

Entonces, ¿cómo puedo obtener el resultado de server.mappath ("~/"); en una tarea de inicio?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top