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

时间:2018-11-29 17:05:10

标签: c# .net web-services registry

经常从此处检索到注册表中已安装应用程序的列表

  

软件\ Microsoft \ Windows \ CurrentVersion \卸载

可以从relavent子项“ InstallLocation”中检索程序的位置。但是,这似乎不适用于Windows和Web服务。

可以从

检索Windows服务的位置
  

SYSTEM \ CurrentControlSet \ Services

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

1 个答案:

答案 0 :(得分:1)

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那里获得站点名称

您还可以打开应用程序Web配置并进行修改,查询等

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