设为首页 收藏本站
查看: 895|回复: 0

[经验分享] .NET获取服务器信息,如服务器版本、IIS等

[复制链接]

尚未签到

发表于 2015-8-14 12:53:24 | 显示全部楼层 |阅读模式
.NET获取服务器信息,如服务器版本、IIS版本、数据库大小、网站系统空间占用大小、网站部署路径等等  
  .NET获取系统环境信息




#region 返回操作系统信息 .net版本 数据库大小  程序大小等方法
    /// <summary>
    /// 获取服务器系统信息
    /// </summary>
    public string GetOSVersion()
    {
        OperatingSystem os = Environment.OSVersion;
        return os.ToString();
    }

    /// <summary>
    /// 获取服务器.net版本
    /// </summary>
    /// <returns></returns>
    public string GetNetVersion()
    {
        return Environment.Version.ToString();
    }

    /// <summary>
    /// 获取数据库大小
    /// </summary>
    /// <returns></returns>
    public string GetDataBaseLength()
    {
        string fileFullPath = HttpContext.Current.Server.MapPath("~/App_Data/XXX.mdf");
        FileInfo file = new FileInfo(fileFullPath);
        return (Convert.ToDouble(file.Length) / 1024 / 1024).ToString("N") + "M";
    }

    /// <summary>
    /// 递归文件目录,返回目录下所有文件大小
    /// </summary>
    /// <param name="d">传入的路径</param>
    /// <returns></returns>
    public static long DirSize(DirectoryInfo d)
    {
        long Size = 0;
        // 所有文件大小.
        FileInfo[] fis = d.GetFiles();
        foreach (FileInfo fi in fis)
        {
            Size += fi.Length;
        }
        // 遍历出当前目录的所有文件夹.
        DirectoryInfo[] dis = d.GetDirectories();
        foreach (DirectoryInfo di in dis)
        {
            Size += DirSize(di);   //这就用到递归了,调用父方法,注意,这里并不是直接返回值,而是调用父返回来的
        }
        return (Size);
    }

    /// <summary>
    /// 调用DirSize方法
    /// </summary>
    /// <returns></returns>
    public string GetDirSize()
    {
        string fullPath = HttpContext.Current.Server.MapPath("~/");
        DirectoryInfo d = new DirectoryInfo(fullPath);
        return (Convert.ToDouble(DirSize(d)) / 1024 / 1024).ToString("N") + "M";
    }
    #endregion

    #region 服务器相关属性
    /// <summary>
    /// 服务器名称
    /// </summary>
    public string MachineName
    {
        get { return HttpContext.Current.Server.MachineName; }
    }

    /// <summary>
    /// 服务器操作系统
    /// </summary>
    public string ServiveSystem
    {
        get { return GetOSVersion(); }
    }

    /// <summary>
    /// 服务器IP地址
    /// </summary>
    public string ServiceIP
    {
        get { return HttpContext.Current.Request.ServerVariables["LOCAL_ADDR"]; }
    }

    /// <summary>
    /// 网站端口号
    /// </summary>
    public string ServicePort
    {
        get { return HttpContext.Current.Request.ServerVariables["SERVER_PORT"]; }
    }

    /// <summary>
    /// 服务器IIS版本
    /// </summary>
    public string ServiceIIS
    {
        get { return HttpContext.Current.Request.ServerVariables["SERVER_SOFTWARE"]; }
    }

    /// <summary>
    /// 服务器.NET解释引擎版本
    /// </summary>
    public string ServiceNetVersion
    {
        get { return GetNetVersion(); }
    }

    /// <summary>
    /// 服务器时间
    /// </summary>
    public string ServiceTime
    {
        get { return DateTime.Now.ToString(); }
    }

    /// <summary>
    /// 网站绝对路径
    /// </summary>
    public string ServicePath
    {
        get { return HttpContext.Current.Request.ServerVariables["PATH_TRANSLATED"].ToString(); }
    }

    /// <summary>
    /// 数据库大小
    /// </summary>
    public string DataBaseLength
    {
        get { return GetDataBaseLength(); }
    }

    /// <summary>
    /// 获取程序占用空间大小
    /// </summary>
    public string GetSystemLength
    {
        get { return GetDirSize(); }
    }
    #endregion  
  
  .net遍历服务所有变量信息


<table colspan="8" cellpadding="5" border="0">
<tr>
<td align="CENTER" bgcolor="#800000" width="20%">
<font style="arial narrow" color="#ffffff" size="2">环境变量名</font>
</td>
<td align="CENTER" width="80%" bgcolor="#800000">
<font style="arial narrow" color="#ffffff" size="2">结果</font>
</td>
</tr>
<%
foreach (string val in Request.ServerVariables)
{
Response.Write("<tr>");
Response.Write("<td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>");
Response.Write(val);
Response.Write("</font></td>");
Response.Write("<td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>");
Response.Write(Request.ServerVariables[val]);
Response.Write("</font></td></tr>");
}        %>
</table>  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-98970-1-1.html 上篇帖子: win7下面iis错误汇总 下篇帖子: VC,C#创建IIS站点,应用程序池 ADSI
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表