|
|
Web°²×°³ÌÐò²»ÄÜÑ¡Ôñ°²×°Ä¿Â¼ÎÊÌâ(3) |
|
|
×÷ÕߣºÎ´Öª À´Ô´£ºÔ¹âÈí¼þÕ¾ ¼ÓÈëʱ¼ä£º2005-2-28¡¡Ô¹âÈí¼þÕ¾ |
CreateWebDir.cs Îļþ |
using System; using System.Data; using System.DirectoryServices; using System.Collections;
namespace setWebDir { ¡¡¡¡/// <summary> ¡¡¡¡/// IISManager µÄժҪ˵Ã÷¡£ ¡¡¡¡/// </summary> ¡¡¡¡public class IISManager ¡¡¡¡{ ¡¡¡¡¡¡¡¡//¶¨ÒåÐèҪʹÓÃµÄ ¡¡¡¡¡¡¡¡private string _server,_website,_AnonymousUserPass,_AnonymousUserName; ¡¡¡¡¡¡¡¡private VirtualDirectories _virdirs; ¡¡¡¡¡¡¡¡protected System.DirectoryServices.DirectoryEntry rootfolder; ¡¡¡¡¡¡¡¡private bool _batchflag; ¡¡¡¡¡¡¡¡public IISManager() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡_server = "localhost";//ĬÈÏÇé¿öÏÂʹÓÃlocalhost£¬¼´·ÃÎʱ¾µØ»ú ¡¡¡¡¡¡¡¡¡¡¡¡_website = "1"; ¡¡¡¡¡¡¡¡¡¡¡¡_batchflag = false; ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public IISManager(string strServer) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡_server = strServer; ¡¡¡¡¡¡¡¡¡¡¡¡_website = "1"; ¡¡¡¡¡¡¡¡¡¡¡¡_batchflag = false; ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡/// <summary> ¡¡¡¡¡¡¡¡/// ¶¨Ò幫¹²ÊôÐÔ ¡¡¡¡¡¡¡¡/// </summary>
¡¡¡¡¡¡¡¡public void get_AnonymousUser() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡_AnonymousUserPass="IUSR_DEVE-SERVER"; ¡¡¡¡¡¡¡¡¡¡¡¡_AnonymousUserName="IUSR_DEVE-SERVER"; ¡¡¡¡¡¡¡¡¡¡¡¡VirtualDirectory vDir; ¡¡¡¡¡¡¡¡¡¡¡¡try ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Hashtable myList = (Hashtable)_virdirs; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IDictionaryEnumerator myEnumerator = myList.GetEnumerator(); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡while ( myEnumerator.MoveNext() ) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡vDir = (VirtualDirectory)myEnumerator.Value; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if (vDir.AnonymousUserName!="" && vDir.AnonymousUserPass != "") ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AnonymousUserName=vDir.AnonymousUserName; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AnonymousUserPass=vDir.AnonymousUserPass; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡break; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡catch ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AnonymousUserPass="IUSR_DEVE-SERVER"; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_AnonymousUserName="IUSR_DEVE-SERVER"; ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public string AnonymousUserName ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _AnonymousUserName;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _AnonymousUserName = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public string AnonymousUserPass ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _AnonymousUserPass;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _AnonymousUserPass = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//ServerÊôÐÔ¶¨Òå·ÃÎÊ»úÆ÷µÄÃû×Ö£¬¿ÉÒÔÊÇIPÓë¼ÆËãÃû ¡¡¡¡¡¡¡¡public string Server ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _server;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _server = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//WebSiteÊôÐÔ¶¨Ò壬ΪһÊý×Ö£¬Îª·½±ã£¬Ê¹ÓÃstring ¡¡¡¡¡¡¡¡//Ò»°ãÀ´ËµµÚһ̨Ö÷»úΪ1,µÚ¶þ̨Ö÷»úΪ2£¬ÒÀ´ÎÀàÍÆ ¡¡¡¡¡¡¡¡public string WebSite ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _website; } ¡¡¡¡¡¡¡¡¡¡¡¡set{ _website = value; } ¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡//ÐéÄâĿ¼µÄÃû×Ö ¡¡¡¡¡¡¡¡public VirtualDirectories VirDirs ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _virdirs; } ¡¡¡¡¡¡¡¡¡¡¡¡set{ _virdirs = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡///<summary> ¡¡¡¡¡¡¡¡///¶¨Ò幫¹²·½·¨ ¡¡¡¡¡¡¡¡///</summary>
¡¡¡¡¡¡¡¡//Á¬½Ó·þÎñÆ÷ ¡¡¡¡¡¡¡¡public void Connect() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡ConnectToServer(); ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//Ϊ·½±ãÖØÔØ ¡¡¡¡¡¡¡¡public void Connect(string strServer) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡_server = strServer; ¡¡¡¡¡¡¡¡¡¡¡¡ConnectToServer(); ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//Ϊ·½±ãÖØÔØ ¡¡¡¡¡¡¡¡public void Connect(string strServer,string strWebSite) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡_server = strServer; ¡¡¡¡¡¡¡¡¡¡¡¡_website = strWebSite; ¡¡¡¡¡¡¡¡¡¡¡¡ConnectToServer(); ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//ÅжÏÊÇ·ñ´æÕâ¸öÐéÄâĿ¼ ¡¡¡¡¡¡¡¡public bool Exists(string strVirdir) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡return _virdirs.Contains(strVirdir); ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//Ìí¼ÓÒ»¸öÐéÄâĿ¼ ¡¡¡¡¡¡¡¡public bool Create(VirtualDirectory newdir) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡string strPath = "IIS://" + _server + "/W3SVC/" + _website + "/ROOT/" + newdir.Name; ¡¡¡¡¡¡¡¡¡¡¡¡if(!_virdirs.Contains(newdir.Name) || _batchflag ) ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡try ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¼ÓÈëµ½ROOTµÄChildren¼¯ºÏÖÐÈ¥ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DirectoryEntry newVirDir = rootfolder.Children.Add(newdir.Name,"IIsWebVirtualDir"); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡newVirDir.Invoke("AppCreate",true); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡newVirDir.CommitChanges(); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡rootfolder.CommitChanges(); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//È»ºó¸üÐÂÊý¾Ý ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡UpdateDirInfo(newVirDir,newdir); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return true; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡catch(Exception ee) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//throw new Exception(ee.ToString()); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return false; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡else ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return true; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//throw new Exception("This virtual directory is already exist."); ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//µÃµ½Ò»¸öÐéÄâĿ¼ ¡¡¡¡¡¡¡¡public VirtualDirectory GetVirDir(string strVirdir) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡VirtualDirectory tmp = null; ¡¡¡¡¡¡¡¡¡¡¡¡if(_virdirs.Contains(strVirdir)) ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡tmp = _virdirs.Find(strVirdir); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡((VirtualDirectory)_virdirs[strVirdir]).flag = 2; ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡else ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//throw new Exception("This virtual directory is not exists"); ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡return tmp; ¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡//¸üÐÂÒ»¸öÐéÄâĿ¼ ¡¡¡¡¡¡¡¡public void Update(VirtualDirectory dir) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡//ÅжÏÐèÒª¸ü¸ÄµÄÐéÄâĿ¼ÊÇ·ñ´æÔÚ ¡¡¡¡¡¡¡¡¡¡¡¡if(_virdirs.Contains(dir.Name)) ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DirectoryEntry ode = rootfolder.Children.Find(dir.Name,"IIsWebVirtualDir"); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡UpdateDirInfo(ode,dir); ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡else ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//throw new Exception("This virtual directory is not exists."); ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡//ɾ³ýÒ»¸öÐéÄâĿ¼ ¡¡¡¡¡¡¡¡public void Delete(string strVirdir) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡if(_virdirs.Contains(strVirdir)) ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡object[] paras = new object[2]; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡paras[0] = "IIsWebVirtualDir"; //±íʾ²Ù×÷µÄÊÇÐéÄâĿ¼ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡paras[1] = strVirdir; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡rootfolder.Invoke("Delete",paras); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡rootfolder.CommitChanges(); ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡¡¡¡¡else ¡¡¡¡¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//throw new Exception("Can''t delete " + strVirdir + ",because it isn''t exists."); ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//ÅúÁ¿¸üР¡¡¡¡¡¡¡¡public void UpdateBatch() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡BatchUpdate(_virdirs); ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//ÖØÔØÒ»¸ö ¡¡¡¡¡¡¡¡public void UpdateBatch(VirtualDirectories vds) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡BatchUpdate(vds); ¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡¡¡public void Close() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡_virdirs.Clear(); ¡¡¡¡¡¡¡¡¡¡¡¡_virdirs = null; ¡¡¡¡¡¡¡¡¡¡¡¡rootfolder.Dispose(); ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//Á¬½Ó·þÎñÆ÷ ¡¡¡¡¡¡¡¡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); ¡¡¡¡¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//Ö´ÐÐÅúÁ¿¸üР¡¡¡¡¡¡¡¡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; ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//¸üж«¶« ¡¡¡¡¡¡¡¡private void UpdateDirInfo(DirectoryEntry de,VirtualDirectory vd) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AnonymousUserName"][0] = vd.AnonymousUserName; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AnonymousUserPass"][0] = vd.AnonymousUserPass; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AccessRead"][0] = vd.AccessRead; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AccessExecute"][0] = vd.AccessExecute; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AccessWrite"][0] = vd.AccessWrite; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AuthBasic"][0] = vd.AuthBasic; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AuthNTLM"][0] = vd.AuthNTLM; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["ContentIndexed"][0] = vd.ContentIndexed; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["EnableDefaultDoc"][0] = vd.EnableDefaultDoc; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["EnableDirBrowsing"][0] = vd.EnableDirBrowsing; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AccessSSL"][0] = vd.AccessSSL; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["AccessScript"][0] = vd.AccessScript; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["DefaultDoc"][0] = vd.DefaultDoc; ¡¡¡¡¡¡¡¡¡¡¡¡de.Properties["Path"][0] = vd.Path; ¡¡¡¡¡¡¡¡¡¡¡¡de.CommitChanges(); ¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡//»ñÈ¡ÐéÄâĿ¼¼¯ºÏ ¡¡¡¡¡¡¡¡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; ¡¡¡¡¡¡¡¡} ¡¡¡¡} ¡¡¡¡/// <summary> ¡¡¡¡/// VirtualDirectoryÀà ¡¡¡¡/// </summary> ¡¡¡¡public class VirtualDirectory ¡¡¡¡{ ¡¡¡¡¡¡¡¡private bool _read,_execute,_script,_ssl,_write,_authbasic,_authntlm,_indexed,_endirbrow,_endefaultdoc; ¡¡¡¡¡¡¡¡private string _ausername,_auserpass,_name,_path; ¡¡¡¡¡¡¡¡private int _flag; ¡¡¡¡¡¡¡¡private string _defaultdoc; ¡¡¡¡¡¡¡¡/// <summary> ¡¡¡¡¡¡¡¡/// ¹¹Ô캯Êý ¡¡¡¡¡¡¡¡/// </summary> ¡¡¡¡¡¡¡¡public VirtualDirectory() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡SetValue(); ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public VirtualDirectory(string sVirDirName) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡SetValue(); ¡¡¡¡¡¡¡¡¡¡¡¡_name = sVirDirName; ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡// sVirDirName£ºÐéÄâ·¾¶; ¡¡¡¡¡¡¡¡// strPhyPath£º ÎïÀí·¾¶( physics Path) ¡¡¡¡¡¡¡¡public VirtualDirectory(string sVirDirName,string strPhyPath,string[] AnonymousUser) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡SetValue(); ¡¡¡¡¡¡¡¡¡¡¡¡_name = sVirDirName; ¡¡¡¡¡¡¡¡¡¡¡¡_path = strPhyPath; ¡¡¡¡¡¡¡¡¡¡¡¡_ausername = AnonymousUser[0]; ¡¡¡¡¡¡¡¡¡¡¡¡_auserpass = AnonymousUser[1]; ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡private void SetValue() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡_read = true;_execute = false;_script = true;_ssl= false;_write=false;_authbasic=false; ¡¡¡¡¡¡¡¡¡¡¡¡_authntlm=true;_indexed = true;_endirbrow=false;_endefaultdoc = true; ¡¡¡¡¡¡¡¡¡¡¡¡_flag = 1; ¡¡¡¡¡¡¡¡¡¡¡¡_defaultdoc = "default.htm,default.aspx,default.asp,index.htm"; ¡¡¡¡¡¡¡¡¡¡¡¡_path = "C:\\"; ¡¡¡¡¡¡¡¡¡¡¡¡_ausername = "IUSR_DEVE-SERVER";_auserpass ="IUSR_DEVE-SERVER";_name=""; ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡///<summary> ¡¡¡¡¡¡¡¡///¶¨ÒåÊôÐÔ,IISVirtualDirÌ«¶àÊôÐÔÁË ¡¡¡¡¡¡¡¡///ÎÒÖ»¸ãÁ˱ȽÏÖØÒªµÄһЩ£¬ÆäËüµÄ´ó»ïÐèÒªµÄ×Ô¸ö¼Ó°É¡£ ¡¡¡¡¡¡¡¡///</summary>
¡¡¡¡¡¡¡¡public int flag ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _flag;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _flag = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool AccessRead ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _read;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _read = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool AccessWrite ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _write;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _write = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool AccessExecute ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _execute;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _execute = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool AccessSSL ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _ssl;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _ssl = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool AccessScript ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _script;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _script = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool AuthBasic ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _authbasic;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _authbasic = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool AuthNTLM ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _authntlm;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _authntlm = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool ContentIndexed ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _indexed;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _indexed = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool EnableDirBrowsing ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _endirbrow;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _endirbrow = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public bool EnableDefaultDoc ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _endefaultdoc;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _endefaultdoc = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public string Name ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _name;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _name = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public string Path ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _path;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _path = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public string DefaultDoc ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _defaultdoc;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _defaultdoc = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public string AnonymousUserName ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _ausername;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _ausername = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡public string AnonymousUserPass ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡get{ return _auserpass;} ¡¡¡¡¡¡¡¡¡¡¡¡set{ _auserpass = value;} ¡¡¡¡¡¡¡¡} ¡¡¡¡}
¡¡¡¡/// <summary> ¡¡¡¡/// ¼¯ºÏVirtualDirectories ¡¡¡¡/// </summary> ¡¡¡¡public class VirtualDirectories : System.Collections.Hashtable ¡¡¡¡{ ¡¡¡¡¡¡¡¡public VirtualDirectories() ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡} ¡¡¡¡¡¡¡¡//Ìí¼ÓÐµķ½·¨ ¡¡¡¡¡¡¡¡public VirtualDirectory Find(string strName) ¡¡¡¡¡¡¡¡{ ¡¡¡¡¡¡¡¡¡¡¡¡return (VirtualDirectory)this[strName]; ¡¡¡¡¡¡¡¡} ¡¡¡¡} } | | 
|
|
Ïà¹ØÎÄÕ£ºÏà¹ØÈí¼þ£º |
|