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

  • 相关阅读:
    [对android程序作代码混淆]
    用smali实现Android apk的简单汉化
    防止java反编译的一些常用方法
    http抓包工具推荐WSockExpert/httpwatch/HttpAnalyzer/DebugBar
    JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
    22、Secondary Tiles
    21、磁贴和磁贴通知(tile)(下)
    19、Context Menu
    代码管理工具
    20、磁贴和磁贴通知(tile)(上)
  • 原文地址:https://www.cnblogs.com/zhtbk/p/5130472.html
Copyright © 2011-2022 走看看