作为web开发利器,firebug,fillder实乃恩人般的神器。但是它们揭示的是服务器-浏览器之间的巨细事宜,要想了解服务器端的一些细节,还少不了要去F5,F10或者写watch或者各种log。asp.net 其实有自带的trace功能,但是很少有见到一些书籍去介绍或有人去介绍使用经验。话不多说,让我们来启用trace功能以及看它能给出那些关键数据,然后你再考虑下那些场景适合使用此功能。我认为此功能当产品在测试服务器上跑时,特别有用。
一,启用
在<system.web>节点下加如下配置
<trace enabled="true" requestLimit="40" pageOutput="true" localOnly="false" />
二,结果,可以访问url,当前页面在正常页面下端输出trace信息;或者在url后面加?trace.axd,后面一种方式可以在一个窗口查看多个url的trace信息。最终trace保镖如下:
请求详细信息 |
---|
会话 ID: | c4v1bnbb1ez0vfn34x1a4k45 | 请求类型: | GET |
---|
请求的时间: | 2012/4/7 23:31:49 | 状态代码: | 200 |
---|
请求编码: | Unicode (UTF-8) | 响应编码: | Unicode (UTF-8) |
---|
跟踪信息 |
---|
类别 | 消息 | From First(s) | From Last(s) |
---|
aspx.page | Begin PreInit | | |
aspx.page | End PreInit | 0.00919911480001343 | 0.009199 |
aspx.page | Begin Init | 0.0355832640526067 | 0.026384 |
aspx.page | End Init | 0.0357095911270594 | 0.000126 |
aspx.page | Begin InitComplete | 0.053047128534384 | 0.017338 |
aspx.page | End InitComplete | 0.0531000493358439 | 0.000053 |
aspx.page | Begin PreLoad | 0.0531165515212454 | 0.000017 |
aspx.page | End PreLoad | 0.053132484665771 | 0.000016 |
aspx.page | Begin Load | 0.0531489868511725 | 0.000017 |
aspx.page | End Load | 0.0533157158278151 | 0.000167 |
aspx.page | Begin LoadComplete | 0.0533441678716107 | 0.000028 |
aspx.page | End LoadComplete | 0.0533612390978881 | 0.000017 |
aspx.page | Begin PreRender | 0.0533771722424137 | 0.000016 |
aspx.page | End PreRender | 0.0534630974146766 | 0.000086 |
aspx.page | Begin PreRenderComplete | 0.0550911233606644 | 0.001628 |
aspx.page | End PreRenderComplete | 0.0551696510015404 | 0.000079 |
aspx.page | Begin SaveState | 0.118867517610393 | 0.063698 |
aspx.page | End SaveState | 0.136335365378301 | 0.017468 |
aspx.page | Begin SaveStateComplete | 0.136397959874652 | 0.000063 |
aspx.page | End SaveStateComplete | 0.136416169182681 | 0.000018 |
aspx.page | Begin Render | 0.136432102327206 | 0.000016 |
aspx.page | End Render | 0.152798286959347 | 0.016366 |
控件树 |
---|
控件 UniqueID | 类型 | 呈现大小字节数(包括子级) | ViewState 大小字节数(不包括子级) | ControlState 大小字节(不包括子级) |
---|
__Page | ASP.default_aspx | 667 | 0 | 0 |
ctl02 | System.Web.UI.LiteralControl | 174 | 0 | 0 |
ctl00 | System.Web.UI.HtmlControls.HtmlHead | 157 | 0 | 0 |
ctl01 | System.Web.UI.HtmlControls.HtmlTitle | 19 | 0 | 0 |
ctl03 | System.Web.UI.LiteralControl | 125 | 0 | 0 |
ctl04 | System.Web.UI.LiteralControl | 14 | 0 | 0 |
form1 | System.Web.UI.HtmlControls.HtmlForm | 302 | 0 | 0 |
ctl05 | System.Web.UI.LiteralControl | 90 | 0 | 0 |
ctl06 | System.Web.UI.LiteralControl | 20 | 0 | 0 |
标头集合 |
---|
名称 | 值 |
---|
Connection | keep-alive |
Accept | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
Accept-Encoding | gzip, deflate |
Accept-Language | zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 |
Host | localhost:1142 |
User-Agent | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0 |
响应标头集合 |
---|
名称 | 值 |
---|
X-AspNet-Version | 2.0.50727 |
Cache-Control | private |
Content-Type | text/html |
服务器变量 |
---|
名称 | 值 |
---|
ALL_HTTP | HTTP_CONNECTION:keep-alive HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 HTTP_HOST:localhost:1142 HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0 |
ALL_RAW | Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 Host: localhost:1142 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0 |
APPL_MD_PATH | |
APPL_PHYSICAL_PATH | F:\demos\2012\cachetest\ |
AUTH_TYPE | |
AUTH_USER | |
AUTH_PASSWORD | |
LOGON_USER | wusong-PC\wusong |
REMOTE_USER | |
CERT_COOKIE | |
CERT_FLAGS | |
CERT_ISSUER | |
CERT_KEYSIZE | |
CERT_SECRETKEYSIZE | |
CERT_SERIALNUMBER | |
CERT_SERVER_ISSUER | |
CERT_SERVER_SUBJECT | |
CERT_SUBJECT | |
CONTENT_LENGTH | 0 |
CONTENT_TYPE | |
GATEWAY_INTERFACE | |
HTTPS | |
HTTPS_KEYSIZE | |
HTTPS_SECRETKEYSIZE | |
HTTPS_SERVER_ISSUER | |
HTTPS_SERVER_SUBJECT | |
INSTANCE_ID | |
INSTANCE_META_PATH | |
LOCAL_ADDR | 127.0.0.1 |
PATH_INFO | /cachetest/Default.aspx |
PATH_TRANSLATED | F:\demos\2012\cachetest\Default.aspx |
QUERY_STRING | |
REMOTE_ADDR | 127.0.0.1 |
REMOTE_HOST | 127.0.0.1 |
REMOTE_PORT | |
REQUEST_METHOD | GET |
SCRIPT_NAME | /cachetest/Default.aspx |
SERVER_NAME | localhost |
SERVER_PORT | 1142 |
SERVER_PORT_SECURE | 0 |
SERVER_PROTOCOL | HTTP/1.1 |
SERVER_SOFTWARE | |
URL | /cachetest/Default.aspx |
HTTP_CONNECTION | keep-alive |
HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
HTTP_ACCEPT_ENCODING | gzip, deflate |
HTTP_ACCEPT_LANGUAGE | zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 |
HTTP_HOST | localhost:1142 |
HTTP_USER_AGENT | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0 |
更多细节请看MSDN:ASP.NET 跟踪