您的位置:首页 > 编程语言 > C#

C# 修改IIS相关设置代码

2010-06-29 14:55 561 查看
/// <summary>
/// 从IIS中查找虚拟目录
/// </summary>
/// <param name="prj">虚拟目录名称</param>
/// <returns></returns>
public static System.DirectoryServices.DirectoryEntry FindVirDir( string VirDirName)
{
System.DirectoryServices.DirectoryEntry rlst = null;

//当项目在IIS上打开时,要把URL转换为物理路径
if (prjname.ToLower().IndexOf("http://") >= 0)
{

System.DirectoryServices.DirectoryEntry rootEntry = new System.DirectoryServices.DirectoryEntry("IIS://localhost/w3svc");

int siteID = 1;
bool isFound = false;
//得到现有的站点标识
foreach (System.DirectoryServices.DirectoryEntry entry in rootEntry.Children)
{
if (entry.SchemaClassName == "IIsWebServer")
{
int ID = Convert.ToInt32(entry.Name);
//查找IIS的根目录
System.DirectoryServices.DirectoryEntry root = entry.Children.Find("root", "IIsWebVirtualDir");

if (ID >= siteID)
{

foreach (System.DirectoryServices.DirectoryEntry centry in root.Children)
{

if (centry.SchemaClassName == "IIsWebVirtualDir")
{
if (centry.Properties["AppFriendlyName"].Value.ToString().ToLower() == VirDirName.ToLower())
{
rlst = centry;
isFound = true;
break;
}
}

}
if (isFound)
{
break;
}
}
}
}
}
else
{
rlst = prjname;
}
return rlst;

}

//创建虚拟目录

//新建虚拟目录的DirectoryEntry对象

System.DirectoryServices.DirectoryEntry tbEntry = root.Children.Add("虚拟目录名称", root.SchemaClassName);

tbEntry.Properties["Path"][0] =PATH; //设置虚拟目录的本地物理路径;
tbEntry.Invoke("AppCreate", true); //设置是否要创建新的虚似目录

tbEntry.Properties["AccessRead"][0] = true;
tbEntry.Properties["ContentIndexed"][0] = true; ;

//设置虚拟目录默认首页
tbEntry.Properties["DefaultDoc"][0] = "index.asp,Default.asp,Default.aspx,index.aspx,login.aspx,login.asp";
tbEntry.Properties["AppFriendlyName"][0] = "虚拟目录名称" ;
tbEntry.Properties["AccessScript"][0] = true; //
tbEntry.Properties["DontLog"][0] = true;
tbEntry.Properties["AuthFlags"][0] = 0;
tbEntry.Properties["AuthFlags"][0] = 1;
tbEntry.Properties["AspEnableParentPaths"][0]=true; //是否支持父路径
tbEntry.CommitChanges(); //提交
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: