如何在Azure 2.5的IIS应用程序中设置和使用环境变量
本文关键字:设置 环境变量 应用程序 IIS Azure | 更新日期: 2023-09-27 18:13:01
目前我希望我的日志文件被删除在特定的位置。有没有一种方法,我可以得到我的IIS应用程序的环境变量在Global.asax.cs
private string GetLoggingPath()
{
string rootFolder = string.Empty;
var directoryInfo = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/")).Parent;
if (directoryInfo != null)
{
if (directoryInfo.Parent != null)
{
rootFolder = directoryInfo.Parent.FullName;
}
}
if (string.IsNullOrWhiteSpace(rootFolder))
{
return Path.GetTempPath();
}
return Path.Combine(rootFolder, @"approot'bin'Data");
}
我正在查看RoleRoot环境变量,但即使应用程序在Azure上运行,它也不可用。
我如何在azure中设置环境变量,以便我可以在IIS应用程序中使用?什么是最好的方式,我得到文件夹E:'approot'bin'data
没有硬编码,其中E:'
是rolerroot文件夹
没有很好的方法,似乎环境变量没有在w3wp.exe进程中设置,但是如何仅使用以下内容:
System.IO.Path.Combine(
System.IO.Path.GetPathRoot(
System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath
),
@"approot'bin'Data"
);
(与您的基本相同,但没有创建DirectoryInfo)。
使用进程资源管理器查看进程,我可以看到只有IISConfigurator.exe具有RoleRoot环境变量,因此一个选项是您可以使用apppcmd .exe在启动任务期间将其设置在某些配置文件中。配置或applicationHost。配置,然后从那里读取。
但老实说,我只会使用上面的代码