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。修正后的代码如下:

         

     
  • 相关阅读:
    (转)Too many open files
    Python小程序扫描清理Redis中的key
    spring-mvc接口返回json格式数据Long类型字段精度失真
    项目基础配置
    搭建Vue脚手架(vue-cli)并创建一个项目
    项目简介
    [技术学习]HTTP 常见状态码
    git 使用beyond compare 记录
    温故知新之架构图
    学年教学总结
  • 原文地址:https://www.cnblogs.com/fantasylu/p/1540159.html
Copyright © 2011-2022 走看看