日期:2014-05-16  浏览次数:21249 次

windows2008系统中iis7.0自带的数据库是不是MetaBase.xml?
在程序中用ADsGetObject('IIS://LocalHost/W3SVC',IID_IADsContainer,iUnKnown(I))获取到IIS的服务
var
  I: IADsContainer;
  ADs: IADs;
  Enum: IEnumVariant;
  Fetched: DWORD;
  ResultItem, Values: OleVariant;
if ADsGetObject('IIS://LocalHost/W3SVC',IID_IADsContainer,iUnKnown(I))=S_OK then
  begin
  Enum:=(I._newenum) as IEnumVariant;
  Enum.Reset;
  Enum.Next(1,ResultItem,Fetched);
  while Fetched=1 do
  begin
  showmessage('aaaaaa');
  ADs:=idispatch(ResultItem) as iads;
  if ADs.Class_='IISWebServer' then
  begin
  ShowMessage('bbbbbbb');
  end;

在运行的时候只能显示aaaaa,不能显示bbbbbb,不过在2003下都能显示,在2003系统中IIs6的数据库是MetaBase.XML,如果添加 一个主机里面就会加一个<IIsWebServer Location="/LM/W3SVC/45677792" ,2008的IIS7的数据库没有看到IISWEBSERVER,不过里面有IISFTPServer,不过在代码里面改成IISFTPServer后,也是没有显示

哪个大侠有用过IIS7的,公司要在2008上升级,不过2008的系统第一次用到,IIS7也是第一次用到

------解决方案--------------------
iis7应该有向下的兼容性,iis7跟6差别还是比较大的,你看看这个能不能帮上忙
http://book.51cto.com/art/200908/146061.htm