2009-02-13 10 views

risposta

19

una pagina vuota con questa intestazione dovrebbe fare il trucco:

<%@ Page Trace="true" Language="C#" 
    ContentType="text/html" ResponseEncoding="utf-8" %> 
1

Quanto segue potrebbe funzionare?

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

Non sono sicuro di quali informazioni sputa phpinfo().

7

Come utilizzare il sottosistema di analisi di ASP.Net? Esso consente di ottenere:

Tree Control: albero di controllo presenta una rappresentazione HTML del ASP.NET Albero di controllo. Mostra l'ID di ciascun controllo, il tipo di runtime , il numero di byte che ha impiegato il rendering di ei byte che lo richiede, , in Stato vista e Controllo stato .

Stato sessione: elenca tutti i tasti per una sessione di un particolare utente, i loro tipi ei relativi valori.

Stato Applicazione: elenca tutte le chiavi in oggetto Application dell'applicazione corrente e il loro tipo e valori.

Richiedi cookie: elenca tutti i cookie inoltrati durante la pagina è richiesto.

Cookie di risposta: elenca tutti i cookie restituiti durante la risposta della pagina a .

intestazioni Collezione: mostra tutte le intestazioni che potrebbero essere passati nel corso la richiesta dal browser, tra cui Accept-Encoding, indicando se il browser supporta i risposte HTTP compressi e Accetta lingue.

Raccolta moduli: visualizza un dump completo della raccolta moduli e tutte le chiavi e valori .

QueryString Collection: visualizza uno scarico della raccolta Querystring e tutte le sue chiavi e valori contenuti.

Variabili Server: Un dump completo di coppie nome-valore di tutto ciò che il server web conosce l'applicazione .

Vedere here.

+0

Il collegamento sopra è ora rotto –

12

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

Il progetto è un ASP.Net sistema Informativo Prober. È una singola pagina che cerca di ottenere il massimo da informazioni di hosting utili. Il concetto è simile alla pagina PHP che contiene phpinfo() ...

+0

Forked to GitHub: https://github.com/starlocke/aspnetsysinfo – starlocke

+0

Per un output più conciso, utilizzare 'System.Web.Helpers.ServerInfo.GetHtml()' come detto qui: http://stackoverflow.com/a/28654251/508823 – starlocke

7

ServerInfo.GetHtml() è fondamentalmente uguale a phpinfo(). Non solo le informazioni effettivamente restituite sono estremamente simili ma anche la presentazione html. Here is a live demo!


È inoltre possibile utilizzarlo anche se si sta solo facendo un'API web app puro, ma lasciando restituire un controller un HttpResponseMessage in questo modo:

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

Per ASP classico con VBScript (non ASP.net - vedere la dichiarazione di non responsabilità di seguito) c'è un Sub aspinfo() su Planet Source Code, a cui ho apportato modifiche molto minori (spostando la chiamata a aspinfo() e spostando il blocco dell'autore/commento superiore).

Questa è la fonte della versione modificata di Dennis Pallett's aspinfo(), che può essere salvata come aspinfo.asp sul server web in questione.

<%@ 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() 
%> 

Disclaimer: Si noti che questo è stato inizialmente presentato come un edit-Rob's answer, ma è stato suggerito che sia fatto come una serie completamente nuova risposta risposta invece. Si noti inoltre che, come frankadelic points out in un commento alla risposta di Rob, questa risposta non affronta la domanda dell'OP, poiché tale domanda era per ASP.net, non per ASP classic.

0

Ho realizzato una semplice libreria da inserire nei progetti denominati InfoPage. Questa libreria mostra le informazioni di sistema, l'assembly incluso nell'applicazione, il numero di build e i log delle modifiche.

Puoi semplicemente includerlo nel tuo progetto con nuget, è veloce da integrare e personalizzabile.

Problemi correlati