gpt4 book ai didi

iis-7 - Azure 中的 approot 和 siteroot

转载 作者:行者123 更新时间:2023-12-01 09:06:50 26 4
gpt4 key购买 nike

我的 Azure Web 角色需要能够删除存储在 App_Data 子文件夹中的临时本地文件。我想在 Azure 提升的启动任务中使用 ICACLS 以允许 IIS 执行此操作,如下所示:

ICACLS App_Data/grant "IIS_IUSRS":(OI)(CI)F

但是,我的启动任务执行于:

E:\approot\bin

而 Web 应用程序实际结束并执行的根文件夹似乎是:

E:\sitesroot\0

我不愿意硬编码这条路径,以防微软改变它。有没有办法从启动任务中获取此路径,或者我可以依赖此目的地吗?

为了在 ASPX 中测试它,我添加了:

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

当我在已部署的实例上运行此命令时,我得到:

map 路径:E:\sitesroot\0\角色根目录:

即RoleRoot 为空。

那么我怎样才能得到 Server.MapPath("~/"); 的结果呢?在启动任务中?

最佳答案

为什么不相对获取呢? sitesrootapproot 部署到的驱动器似乎在 E:\和 F:\之间切换,但我认为现在假设它们将被部署是更安全的选择作为同级文件夹。

这是我们从站点根文件夹复制文件的启动任务:

xcopy "../../sitesroot/0/bin" "../../sitesroot/1/bin" /y /i /S
xcopy "../../sitesroot/0/bin" "../../sitesroot/2/bin" /y /i /S
xcopy "../../sitesroot/0/bin" "../../sitesroot/3/bin" /y /i /S
xcopy "../../sitesroot/0/bin" "../../sitesroot/4/bin" /y /i /S
xcopy "../../sitesroot/0/bin" "../../sitesroot/5/bin" /y /i /S

关于iis-7 - Azure 中的 approot 和 siteroot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6397108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com