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

  • 相关阅读:
    Matlab中如何将(自定义)函数作为参数传递给另一个函数
    字幕文件 WebVTT 与 srt 之间的互相转化
    MathType 常用快捷键
    如何解决mathpage.dll或MathType.dll文件找不到问题
    Accelerating Matlab
    VR 相关专业词汇
    Computer Graphics Research Software
    C 和 C++ 混合代码 cmath编译出错
    CG&CAD resource
    Python 面向对象编程——初见
  • 原文地址:https://www.cnblogs.com/love2wllw/p/1709771.html
Copyright © 2011-2022 走看看