首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从获取ASP.NET网站的IIS站点名称

从获取ASP.NET网站的IIS站点名称
EN

Stack Overflow用户
提问于 2009-11-01 00:04:20
回答 5查看 48.6K关注 0票数 52

在我的IIS应用程序中,我想要查找它在ASP.NET中创建时给出的名称,这对于服务器是唯一的。我对网站的域名不感兴趣,但对在IIS中为网站指定的实际名称感兴趣。

我需要能够为IIS6和7可靠地做到这一点。

需要说明的是,我指的是IIS中的给定名称,不是域名,也不是虚拟目录路径。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-01 02:03:48

代码语言:javascript
复制
System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName();
票数 61
EN

Stack Overflow用户

发布于 2013-06-27 01:55:55

正如@belugabob和@CarlosAg已经提到的那样,我宁愿使用System.Web.Hosting.HostingEnvironment.SiteName而不是System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName(),因为IApplicationHost.GetSiteName方法并不打算被直接调用!(msdn)

所以你最好使用HostingEnvironment.SiteName属性!(msdn)

我认为这应该是关于文档的正确答案;)

票数 19
EN

Stack Overflow用户

发布于 2009-11-01 00:32:39

这是一个检索站点Id的related post

下面是一些可能对你有用的代码:

代码语言:javascript
复制
using System.DirectoryServices;
using System;

public class IISAdmin
{
   public static void GetWebsiteID(string websiteName)
   {
      DirectoryEntry w3svc = new DirectoryEntry("IIS://localhost/w3svc");

     foreach(DirectoryEntry de in w3svc.Children)
     {
        if(de.SchemaClassName == "IIsWebServer" && de.Properties["ServerComment"][0].ToString() == websiteName)
        {
           Console.Write(de.Name);
        }

     }

  }
  public static void Main()
  {
     GetWebsiteID("Default Web Site");
  }

}

这是到original post的链接。

我不确定它是否能在IIS7上工作,但如果你安装了IIS7的IIS6兼容性组件,它应该可以工作。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1654797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档