我的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角色的根。

08-05 01:04