Esempio n. 1
0
        /// <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);
                    }
                }
            }
        }
Esempio n. 3
0
 /// <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);
 }