在我的ASP.NET Web应用程序中,我想查找在IIS中创建它时给出的名称,这是服务器所独有的.我对网站的域名不感兴趣,而是对IIS中网站的实际名称感兴趣.
我需要能够可靠地为IIS6和7做到这一点.
要清楚我在谈论IIS中的给定名称,而不是域名而不是虚拟目录路径.
来自IIS的价值我想阅读C#http://img252.imageshack.us/img252/6621/capturedz.png
Meh*_*hin 57
System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName();
Run Code Online (Sandbox Code Playgroud)
khl*_*hlr 18
正如@belugabob和@CarlosAg已经提到的,我宁愿使用System.Web.Hosting.HostingEnvironment.SiteName而不是System.Web.Hosting.HostingEnvironment.ApplicationHost.GetSiteName()因为IApplicationHost.GetSiteName方法不打算直接调用!(msdn)
所以你最好使用HostingEnvironment.SiteName属性!(msdn)
我认为这应该是关于文档的正确答案;)
Chu*_*way 11
以下是检索网站ID 的相关帖子.
这里有一些可能对你有用的代码:
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");
}
Run Code Online (Sandbox Code Playgroud)
}
这是原帖的链接.
我不确定它是否可以在IIS7上运行,但是如果你为IIS7安装IIS6兼容性组件它应该可以工作.
您正在寻找ServerManager(Microsoft.Web.Administration),它提供对IIS 7.0配置系统的读写访问权限.
通过Microsoft.Web.Administration.SiteCollection迭代,使用Site对象获取对您网站的引用,并读取Name属性的值.
// Snippet
using (ServerManager serverManager = new ServerManager()) {
var sites = serverManager.Sites;
foreach (Site site in sites) {
Console.WriteLine(site.Name); // This will return the WebSite name
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用LINQ查询ServerManager.Sites集合(请参阅下面的示例)
// Start all stopped WebSites using the power of Linq :)
var sites = (from site in serverManager.Sites
where site.State == ObjectState.Stopped
orderby site.Name
select site);
foreach (Site site in sites) {
site.Start();
}
Run Code Online (Sandbox Code Playgroud)
注意:Microsoft.Web.Administration 仅适用于IIS7.
对于IIS6,您可以使用ADSI和WMI来执行此操作,但我建议您使用比ADSI更快的WMI.如果使用WMI,请查看WMI Code Creator 1.0(由Microsoft免费/开发).它会为您生成代码.
HTH
| 归档时间: |
|
| 查看次数: |
43826 次 |
| 最近记录: |