zoukankan      html  css  js  c++  java
  • 对虚拟目录的操作(转)

    一、查看虚拟目录是否存在
    private bool IsExitesVirtualDir(string virtualdirname)
    {
       bool exited =false;
       DirectoryEntry _entry = new DirectoryEntry("IIS://localhost/W3SVC/1/Root");
       DirectoryEntries _entries = _entry.Children;
       foreach(DirectoryEntry _cen in _entries)
       {
        if(_cen.Name == virtualdirname)
         exited = true;
       }
       return exited;
    }
    其中virtualdirpath指要建立的虚拟目录名称;

    二、新增虚拟目录
    private void CreateVirtualDir(string virtualdirname,string logicDir)
    {
       if(IsExitesVirtualDir(virtualdirname))
            DeleteVirtualDir(virtualdirname);

       DirectoryEntry _rootEntry ;
       _rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
       DirectoryEntry _newVirDir;
       _newVirDir = _rootEntry .Children.Add(virtualdirpath,"IIsWebVirtualDir");
       _newVirDir.Invoke("AppCreate",true);
       _newVirDir.CommitChanges();
       _rootEntry .CommitChanges();

       _newVirDir.Properties["AnonymousPasswordSync"][0] = true;
       _newVirDir.Properties["Path"][0] = logicDir + @"virtualdirentry\virtualname\";
       _newVirDir.CommitChanges();
    }
    _newVirDir.Properties["Path"][0] 的值为虚拟目录对应的物理地址;

    三、更新虚拟目录
    public void Update(string virtualdirname)
    {
       //判断需要更改的虚拟目录是否存在
       if(_IsExitesVirtualDir(virtualdirname))
       {
        DirectoryEntry _rootEntry ;
        _rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
        DirectoryEntry ode = _rootEntry.Children.Find(virtualdirname,"IIsWebVirtualDir");
        UpdateDirInfo(ode);
       }
    }
    private void UpdateDirInfo(DirectoryEntry de)
    {
       de.Properties["AnonymousUserName"][0] = AnonymousUserName;
       de.Properties["AnonymousUserPass"][0] = AnonymousUserPass;
       de.Properties["AccessRead"][0] = boolen;
       de.Properties["AccessExecute"][0] = boolen;
       de.Properties["AccessWrite"][0] = boolen;
       de.Properties["AuthBasic"][0] = boolen;
       de.Properties["AuthNTLM"][0] = boolen;
       de.Properties["ContentIndexed"][0] = boolen;
       de.Properties["EnableDefaultDoc"][0] = boolen;
       de.Properties["EnableDirBrowsing"][0] = boolen;
       de.Properties["AccessSSL"][0] = boolen;
       de.Properties["AccessScript"][0] = boolen;
       de.Properties["DefaultDoc"][0] = DefaultDoc;
       de.Properties["Path"][0] = Path;
       de.CommitChanges();
    }

    四、删除虚拟目录
    private void DeleteVirtualDir(string virtualdirname)
    {
       DirectoryEntry _rootEntry ;
       _rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
       object[] paras = new object[2];
       paras[0] = "IIsVirtualDir";
       paras[1] = virtualdirname;
       _rootEntry .Invoke("Delete",paras);
       _rootEntry .CommitChanges();
    }

  • 相关阅读:
    Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
    学习笔记之DBeaver
    Leetcode 103. Binary Tree Zigzag Level Order Traversal
    Leetcode 94. Binary Tree Inorder Traversal
    本周学习小结(15/07
    面试总结之算法
    Leetcode 160. Intersection of Two Linked Lists
    KindEditor富文本编辑框和BeautifulSoup的基本使用
    报障系统之权限管理
    报障系统之博客主页及后台管理
  • 原文地址:https://www.cnblogs.com/xh831213/p/326568.html
Copyright © 2011-2022 走看看