zoukankan      html  css  js  c++  java
  • c# 获取iis地址

    using System;
    using System.Collections.Generic;
    using System.DirectoryServices;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ZQNB.Tool.Upgrade.Utilities
    {
    public class IISHelper
    {
    /// <summary>
    /// 获取指定站名的路径
    /// todo 应该做成用户可以选择的
    /// </summary>
    /// <returns></returns>
    public static string GetSitePath()
    {
    var rootEntry = new DirectoryEntry("IIS://localhost/w3svc");
    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);

    var serverComment = entry.Properties["ServerComment"].Value.ToString();
    Console.WriteLine("ServerComment: {0}", serverComment);
    if (serverComment == Config.SiteName)
    {
    return IISWorker.GetWebsitePhysicalPath(entry);
    }
    //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();
    // }
    //}
    }

    }
    return null;
    }
    }
    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;
    }
    }
    }

  • 相关阅读:
    原型模式
    windows下Redis安装及利用java操作Redis
    redis笔记
    STS 安装SVN插件
    java 操作MongoDB简易工具类
    Mysql 单表数据量过大移除数据
    Mysql 提示拷贝效率
    JS 图片显示一部分 小计
    FashJson转换
    WIndow MongoDb安装和启动
  • 原文地址:https://www.cnblogs.com/zhtbk/p/5130472.html
Copyright © 2011-2022 走看看