码迷,mamicode.com
首页 > 其他好文 > 详细

[每天解决一问题系列 - 0012] 如何通过程序获取IIS站点信息

时间:2015-04-24 12:06:53      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

问题描述:

在WiX中需要判断某个站点是否存在,WiX没有这个能力,该怎么做呢?

解决方案:

解决方法就是写一个Custom Action来检测,实现的途径也有很多,现在想到了这么几个

1)PowerShell 需要考虑操作系统的兼容性,只有Vista以上的操作系统才支持

2)WMI

3).net 提供的库以及IIS自己的库, 注意需要区分版本

IIS 6 的代码(需引用System.DirectoryServices.dll)

       DirectoryEntry Services = new DirectoryEntry("IIS://localhost/W3SVC");
            IEnumerator ie = Services.Children.GetEnumerator();
            DirectoryEntry Server = null;

            while (ie.MoveNext())
            {
                Server = (DirectoryEntry)ie.Current;
                if (Server.SchemaClassName == "IIsWebServer")
                {
                    Console.WriteLine(Server.Properties["ServerComment"][0].ToString());
                }
            }

IIS 7、8 的代码 (需引用c:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll)

            var iisManager = new ServerManager();
            SiteCollection sites = iisManager.Sites;
            foreach (var s in sites)
            {
                Console.WriteLine(s.Name);
            }        

  

[每天解决一问题系列 - 0012] 如何通过程序获取IIS站点信息

标签:

原文地址:http://www.cnblogs.com/xixifusigao/p/4452864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!