/// <summary> /// 得到网站的物理路径 /// </summary> /// <param name="rootEntry">网站节点</param> /// <returns></returns> public string GetWebsiteMimeMap(DirectoryEntry rootEntry) { StringBuilder SiteInfo = new StringBuilder(); foreach (DirectoryEntry childEntry in rootEntry.Children) { if ((childEntry.SchemaClassName == "IIsWebVirtualDir") && (childEntry.Name.ToLower() == "root")) { if (childEntry.Properties["MimeMap"].Value != null) { var vdEntryEnum = childEntry.Properties["MimeMap"].GetEnumerator(); var mimeMapSB = new StringBuilder(); while (vdEntryEnum.MoveNext()) { IISOle.IISMimeType vdEntry = (IISOle.IISMimeType)vdEntryEnum.Current; mimeMapSB.AppendFormat(" {0}|{1} ", vdEntry.Extension, vdEntry.MimeType); } SiteInfo.AppendFormat("{1};\n\r", "", mimeMapSB.ToString()); } else { ; } } } return(SiteInfo.ToString()); }
static void PrintPropertyValues(string key, PropertyValueCollection values, int indent) { var pad = new String(' ', indent * 4); Console.Write("{0}- {1} = ", pad, key); if (values.Count == 1) { Console.WriteLine(); if (key == "AdminACL") { // trying to figure out how to print something reasonable for adminacl } } else { pad += " "; Console.WriteLine(String.Format("({0} values)", values.Count)); if (key == "MimeMap") { foreach (var el in values) { IISOle.IISMimeType mimeType = (IISOle.IISMimeType)el; Console.WriteLine("{0}{1}, {2}", pad, mimeType.Extension, mimeType.MimeType); } } else { foreach (var el in values) { Console.WriteLine("{0}{1}", pad, el); } } } }
/// <summary> /// 搜索取指定扩展名对象 /// </summary> /// <param name="type"></param> /// <param name="mime"></param> /// <returns></returns> private static object ContianValue(IISOle.IISMimeType type, PropertyValueCollection mime) { foreach (object v in mime) { IISOle.IISMimeType e = (IISOle.IISMimeType)v; if (type.Extension.ToLower().Equals(e.Extension.ToLower()) && (type.MimeType.ToLower().Equals(e.MimeType.ToLower()))) { e = null; return(v); } } return(null); }