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();
                }
            }

  • 相关阅读:
    Meta http-equiv属性详解(转)
    meta
    meta viewport 详解
    jquery 常用函数
    jquery 设置css样式
    jquery 常用函数集锦
    DATEDIFF 和 DATEADD
    C# 二进制图片串互转
    C# 二进制字符串互转
    重集合中找出最相近的一个数字
  • 原文地址:https://www.cnblogs.com/love2wllw/p/1709771.html
Copyright © 2011-2022 走看看