/// 更新东东
/// </summary>
/// <param name="de"></param>
/// <param name="vd"></param>
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();
}
/// <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;
}
}
#endregion
/// <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();
}
/// <summary>
///
/// </summary>
/// <param name="strVirDirName"></param>
public VirtualDirectory(string strVirDirName)
{
_name = strVirDirName;
SetValue();
}
/// <summary>
///
/// </summary>
private void SetValue()
{
_read = true;_execute = false;_script = false;_ssl= false;_write=false;_authbasic=false;_authntlm=false;
_indexed =false;_endirbrow=false;_endefaultdoc = false;
_flag = 1;
_defaultdoc = "default.htm,default.aspx,default.asp,index.htm";
_path = "C://";
_ausername = "";_auserpass ="";_name="";
}
///<summary>
///定义属性,IISVirtualDir太多属性了
///我只搞了比较重要的一些,其它的大伙需要的自个加吧。
///</summary>
public int flag
{
get{ return _flag;}
set{ _flag = value;}
}
/// <summary>
///
/// </summary>
public bool AccessRead
{
get{ return _read;}
set{ _read = value;}
}
/// <summary>
///
/// </summary>
public bool AccessWrite
{
get{ return _write;}
set{ _write = value;}
}
/// <summary>
///
/// </summary>
public bool AccessExecute
{
get{ return _execute;}
set{ _execute = value;}
}
/// <summary>
///
/// </summary>
public bool AccessSSL
{
get{ return _ssl;}
set{ _ssl = value;}
}
/// <summary>
///
/// </summary>
public bool AccessScript
{
get{ return _script;}
set{ _script = value;}
}
/// <summary>
///
/// </summary>
public bool AuthBasic
{
get{ return _authbasic;}
set{ _authbasic = value;}
}
/// <summary>
///
/// </summary>
public bool AuthNTLM
{
get{ return _authntlm;}
set{ _authntlm = value;}
}
/// <summary>
///
/// </summary>
public bool ContentIndexed
{
get{ return _indexed;}
set{ _indexed = value;}
}
/// <summary>
///
/// </summary>
public bool EnableDirBrowsing
{
get{ return _endirbrow;}
set{ _endirbrow = value;}
}
/// <summary>
///
/// </summary>
public bool EnableDefaultDoc
{
get{ return _endefaultdoc;}
set{ _endefaultdoc = value;}
}
/// <summary>
///
/// </summary>
public string Name
{
get{ return _name;}
set{ _name = value;}
}
/// <summary>
///
/// </summary>
public string Path
{
get{ return _path;}
set{ _path = value;}
}
/// <summary>
///
/// </summary>
public string DefaultDoc
{
get{ return _defaultdoc;}
set{ _defaultdoc = value;}
}
/// <summary>
///
/// </summary>
public string AnonymousUserName
{
get{ return _ausername;}
set{ _ausername = value;}
}
/// <summary>
///
/// </summary>
public string AnonymousUserPass
{
get{ return _auserpass;}
set{ _auserpass = value;}
}
}
/// <summary>
/// 集合VirtualDirectories
/// </summary>
public class VirtualDirectories : System.Collections.Hashtable
{
/// <summary>
///
/// </summary>
public VirtualDirectories()
{
}
//添加新的方法
/// <summary>
///
/// </summary>
/// <param name="strName"></param>
/// <returns></returns>
public VirtualDirectory Find(string strName)
{
return (VirtualDirectory)this[strName];
}
}
}