示例#1
0
文件: IISManager.cs 项目: d8q8/DoIt
        /// <summary>
        /// 获取虚拟目录集合
        /// </summary>
        /// <param name="des"></param>
        /// <returns></returns>
        private VirtualDirectories GetVirDirs(DirectoryEntries des)
        {
            VirtualDirectories tmpdirs = new VirtualDirectories();

            foreach (DirectoryEntry de in des)
            {
                if (de.SchemaClassName == "IIsWebVirtualDir")
                {
                    VirtualDirectory vd = new VirtualDirectory();
                    vd.Name              = de.Name;
                    vd.AccessRead        = (bool)de.Properties["AccessRead"][0];
                    vd.AccessExecute     = (bool)de.Properties["AccessExecute"][0];
                    vd.AccessWrite       = (bool)de.Properties["AccessWrite"][0];
                    vd.AnonymousUserName = (string)de.Properties["AnonymousUserName"][0];
                    vd.AnonymousUserPass = (string)de.Properties["AnonymousUserName"][0];
                    vd.AuthBasic         = (bool)de.Properties["AuthBasic"][0];
                    vd.AuthNtlm          = (bool)de.Properties["AuthNTLM"][0];
                    vd.ContentIndexed    = (bool)de.Properties["ContentIndexed"][0];
                    vd.EnableDefaultDoc  = (bool)de.Properties["EnableDefaultDoc"][0];
                    vd.EnableDirBrowsing = (bool)de.Properties["EnableDirBrowsing"][0];
                    vd.AccessSsl         = (bool)de.Properties["AccessSSL"][0];
                    vd.AccessScript      = (bool)de.Properties["AccessScript"][0];
                    vd.Path              = (string)de.Properties["Path"][0];
                    vd.Flag              = 0;
                    vd.DefaultDoc        = (string)de.Properties["DefaultDoc"][0];
                    tmpdirs.Add(vd.Name, vd);
                }
            }
            return(tmpdirs);
        }
示例#2
0
文件: IISManager.cs 项目: d8q8/DoIt
        ///<summary>
        ///私有方法,连接服务器
        ///</summary>
        private void ConnectToServer()
        {
            string strPath = "IIS://" + _server + "/W3SVC/" + _website + "/ROOT";

            try
            {
                this.Rootfolder = new DirectoryEntry(strPath);
                _virdirs        = GetVirDirs(this.Rootfolder.Children);
            }
            catch (Exception e)
            {
                throw new Exception("Can't connect to the server [" + _server + "] ...", e);
            }
        }
示例#3
0
文件: IISManager.cs 项目: d8q8/DoIt
        /// <summary>
        /// 执行批量更新
        /// </summary>
        /// <param name="vds"></param>
        private void BatchUpdate(VirtualDirectories vds)
        {
            _batchflag = true;
            foreach (object item in vds.Values)
            {
                VirtualDirectory vd = (VirtualDirectory)item;
                switch (vd.Flag)
                {
                case 0:
                    break;

                case 1:
                    Create(vd);
                    break;

                case 2:
                    Update(vd);
                    break;
                }
            }
            _batchflag = false;
        }
示例#4
0
文件: IISManager.cs 项目: d8q8/DoIt
 /// <summary>
 /// 重载一个:-)
 /// </summary>
 /// <param name="vds"></param>
 public void UpdateBatch(VirtualDirectories vds)
 {
     BatchUpdate(vds);
 }