Librar y SitesRoot in Azure
-
29-10-2019 - |
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