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

  • 相关阅读:
    MyBatis学习总结_17_Mybatis分页插件PageHelper
    MyBatis学习总结_16_Mybatis使用的几个建议
    MyBatis学习总结_15_定制Mybatis自动代码生成的maven插件
    MyBatis学习总结_14_Mybatis使用技巧总结
    MyBatis学习总结_13_Mybatis查询之resultMap和resultType区别
    Git实战之Git创建版本库
    Oracle数据库之日期函数
    Oracle数据库之单表查询
    版本发布后测试人员需要做的工作
    oracle数据库之数据插入、修改和删除
  • 原文地址:https://www.cnblogs.com/zhtbk/p/5130472.html
Copyright © 2011-2022 走看看