Как напечатать информацию, аналогичную phpinfo (), но для ASP.NET - PullRequest
16 голосов
/ 13 февраля 2009

Я перебрал коллекцию Request.ServerVariables в ASP.NET, но она не такая полная, как phpinfo().

Как распечатать всю эту информацию, включая программное обеспечение сервера, драйверы и т. Д., Для ASP.NET?

Ответы [ 10 ]

20 голосов
/ 11 июля 2010

Пустая страница с этим заголовком должна помочь:

<%@ Page Trace="true"  Language="C#" 
    ContentType="text/html" ResponseEncoding="utf-8" %>
13 голосов
/ 22 марта 2011

http://code.google.com/p/aspnetsysinfo/

Проект является системным информационным зондом ASP.Net. Это единственная страница, которая пытается получить как можно больше полезной информации о хостинге. Концепция похожа на страницу PHP, которая содержит phpinfo() ...

9 голосов
/ 22 февраля 2015

ServerInfo.GetHtml() в основном совпадает с phpinfo(). Не только фактическая возвращаемая информация чрезвычайно похожа, но и презентация HTML. Вот живая демонстрация!


Вы также можете использовать его, даже если вы делаете только приложение чистого Web API, но позволяете контроллеру возвращать HttpResponseMessage примерно так:

    public System.Net.Http.HttpResponseMessage Get()
    {
        var serverinfo = System.Web.Helpers.ServerInfo.GetHtml().ToHtmlString();
        var response = new System.Net.Http.HttpResponseMessage();
        response.Content = new System.Net.Http.StringContent("<html><body>" + serverinfo + "</body></html>");
        response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("text/html");
        return response;
    }
7 голосов
/ 13 февраля 2009

Как насчет использования подсистемы трассировки ASP.Net? Это позволяет получить:

Дерево управления: Дерево управления представляет HTML-представление ASP.NET Дерево управления. Показывает идентификатор каждого элемента управления, тип времени выполнения, количество байтов в нем взял быть оказанным, и байты это требует в состоянии просмотра и контроля Государство.

Состояние сеанса: перечисляет все ключи для сеанс конкретного пользователя, их типы и их значения.

Состояние приложения: список всех ключей в текущем приложении Объект приложения и их тип и значения.

Запрос файлов cookie: список всех файлов cookie. передается во время страницы просьба.

Ответные Cookies: перечисляет все печенье, которые были переданы обратно во время ответ страницы.

Коллекция заголовков: показывает все заголовки, которые могут быть переданы во время запрос из браузера, включая Accept-Encoding, указывающий поддерживает ли браузер сжатые ответы HTTP и Принять языки.

Форма коллекции: отображает полный свалка формы коллекции и все его ключи и значения.

Коллекция QueryString: отображает дамп коллекции Querystring и все содержащиеся в нем ключи и значения.

Переменные сервера: полный дамп пары имя-значение всего, что веб-сервер знает о применение.

См. здесь .

2 голосов
/ 20 февраля 2012

Взгляните на проблеск .

проблеск : клиентский взгляд на ваш сервер

Что Firebug для клиента, Glimpse делает для сервера ... другими словами, клиентская сторона дает представление о том, что происходит на вашем сервере.

Вот вкладка запроса , как показано в браузере . http://getglimpse.com/Content/Plugin/Request.jpg

Есть другие вкладки с информацией , и можно писать плагины .

1 голос
/ 06 декабря 2010

вот ответ, который я нашел, который выглядит так, как будто он покрывает его, на первый взгляд: http://www.actionscript.org/forums/showthread.php3?p=133347 кто-то написал это

1 голос
/ 13 февраля 2009

Может работать следующее?

foreach (string Key in Request.ServerVariables.AllKeys) 
   Response.Write(Key + ": " + Request.ServerVariables[Key] + "<br>");

Я не уверен, что информация phpinfo () выплевывает.

0 голосов
/ 08 апреля 2016

Я реализовал простую библиотеку для включения в проекты под названием InfoPage . Эта библиотека показывает системную информацию, сборку, включенную в приложение, номер сборки и журналы изменений.

Вы можете просто включить его в свой проект с помощью nuget, его можно быстро интегрировать и настроить.

0 голосов
/ 15 января 2016

Для ASP classic с VBScript ( не ASP.net - см. Заявление об отказе ниже) есть Sub aspinfo() на Исходный код планеты , в который я внес очень незначительные изменения (перемещение вызова на aspinfo() и перемещение верхнего блока авторства / комментария).

Вот источник моей модифицированной версии Денниса Паллетта aspinfo(), которую можно сохранить как aspinfo.asp на соответствующем веб-сервере.

<%@ Language="VBSCRIPT" %>
<%

    '**************************************
    ' Name: aspinfo()
    ' Description:aspinfo() is the equivalent of phpinfo(). It displays all kinds of
    '     information about the server, asp, cookies, sessions and several other things in
    '     a neat table, properly formatted.
    ' By: Dennis Pallett (from psc cd)
    '
    '
    ' Inputs:None
    '
    ' Returns:None
    '
    'Assumes:You can include my code in any of your pages and call aspinfo() to show
    '     the information of your server and asp. 
    '
    '**************************************

Sub aspinfo()
    Dim strVariable, strASPVersion
    Dim strCookie, strKey, strSession
    'Retrieve the version of ASP
    strASPVersion = ScriptEngine & " Version " & ScriptEngineMajorVersion & "." & ScriptEngineMinorVersion
%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <style type="text/css"><!--
    a { text-decoration: none; }
    a:hover { text-decoration: underline; }
    h1 { font-family: arial, helvetica, sans-serif; font-size: 18pt; font-weight: bold;}
    h2 { font-family: arial, helvetica, sans-serif; font-size: 14pt; font-weight: bold;}
    body, td { font-family: arial, helvetica, sans-serif; font-size: 10pt; }
    th { font-family: arial, helvetica, sans-serif; font-size: 10pt; font-weight: bold; }
    //--></style>
    <title>aspinfo()</title></head>
    <body>
    <div align="center">
    <table width="80%" border="0" bgcolor="#000000" cellspacing="1" cellpadding="3">
    <tr>
        <td align="center" valign="top" bgcolor="#FFFFAE" align="left" colspan="2">
            <h3>ASP (<%= strASPVersion %>)</h3>
        </td>
    </tr>
    </table>
    <br>
    <hr>
    <br>
    <h3>Server Variables</h3>
    <table width="80%" border="0" bgcolor="#000000" cellspacing="1" cellpadding="3">
<%
    For Each strVariable In Request.ServerVariables
      Response.write("<tr>")
      Response.write("<th width=""30%"" bgcolor=""#FFFFAE"" align=""left"">" & strVariable & "</th>")
      Response.write("<td bgcolor=""#FFFFD9"" align=""left"">" & Request.ServerVariables(strVariable) & "&nbsp;</td>")
      Response.write("</tr>")
    Next 'strVariable
%>
    </table>
    <br>
    <hr>
    <br>
    <h3>Cookies</h3>
    <table width="80%" border="0" bgcolor="#000000" cellspacing="1" cellpadding="3">
<%
    For Each strCookie In Request.Cookies
        If Not Request.Cookies(strCookie).HasKeys Then
            Response.write("<tr>")
            Response.write("<th width=""30%"" bgcolor=""#FFFFAE"" align=""left"">" & strCookie & "</th>")
            Response.write("<td bgcolor=""#FFFFD9"" align=""left"">" & Request.Cookies(strCookie) & "&nbsp;</td>")
            Response.write("</tr>")
        Else
            For Each strKey In Request.Cookies(strCookie)
                Response.write("<tr>")
                Response.write("<th width=""30%"" bgcolor=""#FFFFAE"" align=""left"">" & strCookie & "(" & strKey & ")</th>")
                Response.write("<td bgcolor=""#FFFFD9"" align=""left"">" & Request.Cookies(strCookie)(strKey) & "&nbsp;</td>")
                Response.write("</tr>")
            Next
        End If
    Next
%>
    </table>
    <br>
    <hr>
    <br>
    <h3>Session Cookies</h3>
    <table width="80%" border="0" bgcolor="#000000" cellspacing="1" cellpadding="3">
<%
    For Each strSession In Session.Contents
            Response.write("<tr>")
            Response.write("<th width=""30%"" bgcolor=""#FFFFAE"" align=""left"">" & strSession & "</th>")
            Response.write("<td bgcolor=""#FFFFD9"" align=""left"">" & Session(strSession) & "&nbsp;</td>")
            Response.write("</tr>")
    Next
%>
    </table>
    <br>
    <hr>
    <br>
    <h3>Other variables</h3>
    <table width="80%" border="0" bgcolor="#000000" cellspacing="1" cellpadding="3">
    <tr><th width="30%" bgcolor="#FFFFAE" align="left">Session.sessionid</th><td bgcolor="#FFFFD9"><%= Session.sessionid %></td></tr>
    <tr><th width="30%" bgcolor="#FFFFAE" align="left">Server.MapPath</th><td bgcolor="#FFFFD9"><%= Server.MapPath ("/") %></td></tr>
    </table>
    </div>
    </body>
    </html>
<%
End Sub
aspinfo()
%>

Отказ от ответственности: обратите внимание, что изначально он был представлен как правка на ответ Роба , но было предложено сделать его полностью новым ответом. Также обратите внимание, что, как frankadelic указывает в комментарии к ответу Роба, этот ответ не отвечает на вопрос OP, так как этот вопрос был для ASP.net, а не для ASP classic.

0 голосов
/ 13 февраля 2009

Быстрый результат Google:

http://forums.asp.net/p/901862/2087653.aspx

По их словам, ответ - нет.

...