zoukankan      html  css  js  c++  java
  • C# 获取网站站点根目录

    using System;
    using System.DirectoryServices;
    using System.Collections.Generic;
    using System.Text;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                DirectoryEntry rootEntry = new DirectoryEntry("IIS://localhost/w3svc");
                int siteID = 1;
                
                foreach (DirectoryEntry entry in rootEntry.Children)
                {
                    if (entry.SchemaClassName.Equals("IIsWebServer", StringComparison.OrdinalIgnoreCase))
                    {
                        Console.WriteLine("Name: {0}", entry.Name);
                        Console.WriteLine("Path: {0}", IISWorker.GetWebsitePhysicalPath(entry));
                        Console.WriteLine("ServerBindings: {0}", entry.Properties["ServerBindings"].Value);
                        Console.WriteLine();
                        DirectoryEntry virEntry = new DirectoryEntry(entry.Path + "/ROOT");
                        foreach (DirectoryEntry entryVirtual in virEntry.Children)
                        {
                            if (entryVirtual.SchemaClassName.Equals("IIsWebVirtualDir", StringComparison.OrdinalIgnoreCase))
                            {
                                Console.WriteLine("SchemaClassName: {0}", entryVirtual.SchemaClassName);
                                Console.WriteLine("Name: {0}", entryVirtual.Name);
                                Console.WriteLine("Path: {0}", entryVirtual.Properties["Path"].Value);
                                Console.WriteLine();
                            }
                        }
                        int ID = Convert.ToInt32(entry.Name);
                        if (ID >= siteID)
                        {
                            siteID = ID + 1;
                        }
                    }
                }
            }
        }
        public class IISWorker
        {
            /// <summary>
            /// 得到网站的物理路径
            /// </summary>
            /// <param name="rootEntry">网站节点</param>
            /// <returns></returns>
            public static string GetWebsitePhysicalPath(DirectoryEntry rootEntry)
            {
                string physicalPath = "";
                foreach (DirectoryEntry childEntry in rootEntry.Children)
                {
                    if ((childEntry.SchemaClassName == "IIsWebVirtualDir") && (childEntry.Name.ToLower() == "root"))
                    {
                        if (childEntry.Properties["Path"].Value != null)
                        {
                            physicalPath = childEntry.Properties["Path"].Value.ToString();
                        }
                        else
                        {
                            physicalPath = "";
                        }
                    }
                }
                return physicalPath;
            }
        }
    }
    View Code

    转载自:https://www.cnblogs.com/hnsongbiao/p/7435745.html

    获取站点ID:

    using Microsoft.Web.Administration;

    var sites = new ServerManager().Sites["Mis"];
    string siteID = sites.Id.ToString();

    解决System.Runtime.Interopservices.COMException问题

    控制面板-程序与功能-启用或关闭Windows功能-IIS-Web管理工具-IIS6管理兼容性

    勾选上【IIS元数据库和IIS6配置兼容性】

  • 相关阅读:
    python 读取邮件
    windows 关于时间的计算
    python 发送 smtp
    常用HTML富文本编辑器
    数据库设计:用户登录系统数据库表设计
    在当前页面打开一个固定的窗口(页面):这种方式弹出来的窗口进行表单提交可更新父类窗口
    后台模板
    springboot/springmvc转换器
    设计模式目录
    组合条件分页查询
  • 原文地址:https://www.cnblogs.com/wa502/p/12958029.html
Copyright © 2011-2022 走看看