zoukankan      html  css  js  c++  java
  • IIS AppCreate子目录的错误(0x80020006)

          这几天做了升级用的安装包,需要在原来的ASP 的虚拟目录下,再创建一个新的ASPNet 虚拟目录。上网查了C# iis设定的资料,按照上面一路做下来,还是无法成功过。
          代码只有两行,如下:
          DirectoryEntry siteVDir = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT/原来的项目/AspNet目录");
          siteVDir.Invoke("AppCreate",true); //报Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))
    siteVDir.CommitChange();


    查了很多资料,都没有结果。后来发现,如果用IIS,首先把ASPNet目录Create Application,然后Remove,上面
    的代码就能够正常。

    然后用查看一下siteVDir.SchemaClassName,发现运来是IISObject,msdn上说这个IISObject是没有方法。

    代码
    DirectoryEntry siteVDir = new DirectoryEntry(path);
    foreach (var site in siteVDir.Children)
    {
        var siteV 
    = (DirectoryEntry)site;
        
    if (siteV.Name == "ASPNet目录")
        {
          siteV.Properties[
    "AppFriendlyName"].Value = "虚拟目录名";
          siteV.Invoke(
    "AppCreate"true);
          siteV.CommitChanges();
          
    break;
        }
    }
    最后的解决办法是,首先获取父,然后列举Children,返现是AspNet目录就调用 AppCreate。修正后的代码如下:

         

     
  • 相关阅读:
    $.ajax 中的contentType
    如何能让MAC和PC都能读写移动硬盘
    bootstrap中的明星属性
    SQL Server2012如何导出sql脚本并且还原数据库
    Http 请求头中 X-Requested-With 的含义
    jquery实现模拟select下拉框效果
    ASP.NET应用技巧:非托管COM组件的使用
    COM和.NET的互操作
    NET调用Com组件事例
    com组件
  • 原文地址:https://www.cnblogs.com/fantasylu/p/1540159.html
Copyright © 2011-2022 走看看