我用代码来操纵IIS,目的是建立一个站点或虚拟目录
1、在用ASP代码实现不会出现问题!
   代码:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/425ff52d-9998-44a9-95dd-b46b2e390db8.asp2、而用ASP.NET来做的时候就会出现异常,大概是说没有权限
   代码:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/425ff52d-9998-44a9-95dd-b46b2e390db8.asp两种方法做的时候IIS的设置是一样的!现在非常郁闷,为什么 .net来做就会出现没有权限

解决方案 »

  1.   

    http://www.microsoft.com/China/Community/program/originalarticles/TechDoc/impersonation.mspx
      

  2.   

    我在IIS中设置该站点的权限已经是超级用户啦,还要模拟管理员帐号吗?
      

  3.   

    假如虚拟目录名为"chinabs",先在项目中引用 
    System.DirectoryServices.dll,再
    using System.DirectoryServices;
    protected System.DirectoryServices.DirectoryEntry dirroot; 1、添加新的虚拟目录     DirectoryEntry newVirDir = dirroot.Children.Add("chinabs","IIsWebVirtualDir");     newVirDir.Invoke("AppCreate",true);     newVirDir.CommitChanges();     dirroot.CommitChanges();
    2、更改虚拟目录属性    //虚拟目录的属性较常用的有:AccessRead,AccessWrite,AccessExecute,AccessScript,DefaultDoc,EnableDefaultDoc,Path等     DirectoryEntry Dirport = dirroot.Children.Find("chinabs","IIsVirtualDir");     Dirport .Properties["AccessRead"][0] = true;
     3、删除虚拟目录      DirectoryEntry Dirport = dirroot.Children.Find("chinabs","IIsVirtualDir");      Dirport.Invoke("AppDelete",true);      dirroot.CommitChanges();或者:      object[] part = new object[2];     part[0] = "IIsWebVirtualDir";      part[1] = "chinabs";     dirroot.Invoke("Delete",part);     dirroot.CommitChanges();
     
      

  4.   

    参见你运行的asp.net帐户信息,并进行相应修改
    或者模拟http://www.microsoft.com/china/technet/security/guidance/secmod38.mspx