如何从我的应用程序中找到web应用程序根目录的位置



注册表中已安装应用程序的列表,通常从这里检索

Software\Microsoft\Windows\CurrentVersion\Uninstall

程序的位置可以从相关子项"InstallLocation"中检索。然而,这似乎不适用于windows和web服务。

可以从检索Windows服务位置

SYSTEM\CurrentControlSet\Services

如何从注册表中查找有关Web服务及其位置的信息?

Microsoft.Web.Administration.dll可以用于查询IIS,您可以执行以下操作

  1. 获取所有网站的列表
  2. 获取有关特定网站的信息
  3. 获取有关网站中web应用程序的信息
  4. 获取有关应用程序中绑定的信息
  5. 创建/修改网站等

就是一个简单的用法示例

private ServerManager serverManager
{
get
{
if (_serverManager == null)
_serverManager = new ServerManager();

return _serverManager;
}
set { _serverManager = value; }
}

你可以使用上面的变量来获得一个特定的站点名称

var site = serverManager.Sites.First(x => x.Name.ToLower() == siteName.ToLower());

您可以从serverManager.Sites获取站点名称

您还可以打开应用程序webconfigs并修改、查询等

public static System.Configuration.Configuration GetConfigurationFrom(string appName, string hostName, string site)
{
return System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(@"/" + appName, site, null, hostName);
}

最新更新