zoukankan      html  css  js  c++  java
  • 设置IIsWebDirectory对象属性

    /// <summary>
            /// System.DirectoryServices.DirectoryEntry De = new DirectoryEntry();
            /// De.Path = @"IIS://localhost/W3SVC/1/ROOT/Dir1/Dir2/Dir3";
            /// RecursiveSetIIsWebDirectory(De);
            /// De.Properties["AccessFlags"][0] = 513;
            /// De.CommitChanges();
            /// </summary>
            /// <param name="IIsWebDirectoryObject"></param>
            public void RecursiveSetIIsWebDirectory(DirectoryEntry IIsWebDirectoryObject)
            {
                try
                {
                    bool temp = DirectoryEntry.Exists(IIsWebDirectoryObject.Path);
                }
                catch
                {
                    string DirName = "";
                    string Path = IIsWebDirectoryObject.Path;
                    string ParentPath = "";

                    DirName = Path.Substring(Path.LastIndexOf(@"/") + 1);
                    ParentPath = Path.Substring(0, Path.Length - (DirName.Length + 1));

                    DirectoryEntry ParentDe = new DirectoryEntry(ParentPath);
                    RecursiveSetIIsWebDirectory(ParentDe); // Call for parent directory

                    // Create a new entry in the IIS Metabase
                    DirectoryEntry newChild;
                    newChild = ParentDe.Children.Add(DirName, "IIsWebDirectory"); // Create the new IIsWebDirectory
                    newChild.CommitChanges(); // Commit the changes. Create a new IIsWebDirectory
                }
            }

            /// <summary>
            /// System.DirectoryServices.DirectoryEntry De = new DirectoryEntry();
            /// De.Path = @"IIS://localhost/W3SVC/1/ROOT/Dir1/Dir2/Dir3/file.txt";
            /// RecursiveSetIIsWebFile(De, 0);
            /// De.Properties["AccessFlags"][0] = 513;
            /// De.CommitChanges();
            /// </summary>
            /// <param name="DirectoryEntryObject"></param>
            /// <param name="depth"></param>
            public void RecursiveSetIIsWebFile(DirectoryEntry DirectoryEntryObject, int depth)
            {
                try
                {
                    bool temp = DirectoryEntry.Exists(DirectoryEntryObject.Path);
                }
                catch
                {
                    string DirName = "";
                    string Path = DirectoryEntryObject.Path;
                    string ParentPath = "";

                    DirName = Path.Substring(Path.LastIndexOf(@"/") + 1);
                    ParentPath = Path.Substring(0, Path.Length - (DirName.Length + 1));

                    DirectoryEntry ParentDe = new DirectoryEntry(ParentPath);
                    RecursiveSetIIsWebFile(ParentDe, depth + 1);

                    DirectoryEntry newChild;
                    if (depth == 0)
                    {
                        newChild = ParentDe.Children.Add(DirName, "IIsWebFile"); // Create the new IIsWebFile
                    }
                    else
                    {
                        newChild = ParentDe.Children.Add(DirName, "IIsWebDirectory"); // Create the new IIsWebDirectory
                    }
                    newChild.CommitChanges();
                }
            }

  • 相关阅读:
    Chrome开发工具Elements面板(编辑DOM和CSS样式)详解
    Chrome调试大全
    横向子菜单栏ul根据其子元素li个数动态获取宽度,并与父li绝对垂直居中的jquery代码段
    IE6滤镜在实战测试中能让父层里面的子元素产生阴影
    导航栏项目滑过时子菜单显示/隐藏jquery代码
    IE6下完美兼容css3圆角和阴影属性的htc插件PIE.htc
    js函数对象
    兼容ie6及以上和firefox等标准浏览器的表格行滑过时背景色切换的效果
    对js原型对象的拓展和原型对象的重指向的区别的研究
    小结IE6的坑
  • 原文地址:https://www.cnblogs.com/love2wllw/p/1709771.html
Copyright © 2011-2022 走看看