我的Azure Web角色需要能够删除存储在App_Data子文件夹中的临时本地文件。我想在Azure提升启动任务中使用ICACLS,以允许IIS如下执行此操作:
ICACLS App_Data / grant“IIS_IUSRS” :( OI)(CI)F
但是,我的启动任务在以下位置执行:
E:\ approot \ bin
而Web应用程序实际终止并从其执行的根文件夹似乎是:
E:\ sitesroot \ 0
我不愿意硬编码此路径,以防Microsoft更改此路径。有没有办法从启动任务中获取此路径,还是可以依靠此目标?
要在ASPX中对此进行测试,请添加:
Label1.Text = "MapPath: " + Server.MapPath("~/");
Label2.Text = "RoleRoot: " + Environment.GetEnvironmentVariable("RoleRoot");
在已部署的实例上运行此命令时,我得到:
MapPath:E:\ sitesroot \ 0 \
RoleRoot:
即RoleRoot为空。
因此,如何获取Server.MapPath(“〜/”);的结果?在启动任务中?
最佳答案
不,我认为从启动任务开始,没有一种方法可以使您的网站成为Web角色的根。