.Net 3.5中的Microsoft.Web.Management和System.DirectoryServices有什么区别?

时间:2010-02-09 04:19:10

标签: .net asp.net wmi adsi

我想使用WMI和.Net通过ASP.Net Web应用程序控制,配置和操作IIS 6.0及更高版本。

  1. 我可以混合使用Microsoft.Web.Management和System.DirectoryServices吗?
  2. 这两者有区别吗?
  3. IIS的更高版本是否支持System.DirectoryServices。即IIS 7.0+?
  4. 两者中哪个更好,为什么(考虑第01行中的目标)?
  5. 非常感谢。

    此致

1 个答案:

答案 0 :(得分:4)

您无法使用Microsoft.Web.Administration命名空间来配置和管理IIS6。从.NET角度来看,您的选项是System.DirectoryServices,WMI,或者,如果您感觉非常冒险的ABO(IIS管理基础对象)。

在IIS7中,您可以使用Microsoft.Web.Administration和其他IIS7 Managed Code Administration libraries,实际上这是首选方法,因为这些组件完全了解所有新的IIS7功能。

如果您有一些遗留代码或工具没有时间移植,或者不能(因为您无权访问源代码),则可以安装IIS6兼容性组件。这些使您可以访问System.DirectoryServices和WMI包装的旧式ADSI API。实际上,它们还会安装旧的ADSUTIL.vbs脚本,该脚本用于在IIS6上执行各种管理任务。

IIS7上的IIS6兼容性组件只是包装对IIS7管理库的访问。他们做得相当不错,但不知道IIS7中存在的新管理功能,但IIS6中却没有。

简而言之,在理想的世界中,您应该继续使用System.DirectoryServices或WMI管理IIS6。对于IIS7,您的偏好应为Microsoft.Web.Administration及其朋友。