我想使用 WMI 和 .Net 通过 ASP.Net Web 应用程序控制、配置和操作 IIS 6.0 及更高版本。
- 我可以混合使用 Microsoft.Web.Management 和 System.DirectoryServices 吗?
- 两者有区别吗?
- 更高版本的 IIS 是否支持 System.DirectoryServices。即IIS 7.0+?
- 两者中哪一个更好?为什么(考虑第 01 行的目标)?
非常感谢。
问候
您不能使用Microsoft.Web.Administration
命名空间来配置和管理 IIS6。从 .NET 的角度来看System.DirectoryServices
,您的选择是 WMI,或者,如果您真的很喜欢冒险 ABO(IIS Admin Base Objects)。
在 IIS7 中,您可以使用Microsoft.Web.Administration
其他 IIS7托管代码管理库,实际上这是首选方法,因为这些组件完全了解 IIS7 的所有新功能。
如果您有一些旧代码或工具没有时间移植或不能移植(因为您无权访问源代码),您可以安装 IIS6 兼容性组件。这些为您提供了对旧式 ADSI APISystem.DirectoryServices
和 WMI 包装的访问。事实上,这些也安装了ADSUTIL.vbs
用于在 IIS6 上执行各种管理任务的旧脚本。
IIS7 上的 IIS6 兼容性组件只是封装了对 IIS7 管理库的访问。他们做得相当好,但不知道 IIS7 中存在但 IIS6 中没有的新管理功能。
所以简而言之,在理想情况下,您应该继续使用System.DirectoryServices
或 WMI 管理 IIS6。对于 IIS7,您的偏好应该是Microsoft.Web.Administration
和它的朋友。