ASP.NET中的Response.Write

开发 后端
本文介绍ASP.NET中的Response.Write,以及介绍利用 Trace 和 Debug 类,可以将有关错误和应用程序执行的信息记录到日志、文本文件或其他设备中,以便在随后进行分析。

一、什么是“跟踪”

跟踪是一种在应用程序运行时监视其执行情况的方式。当开发 .NET 应用程序时,可以在其中添加跟踪和调试检测功能,并且在开发应用程序时和部署应用程序后,都可以使用该检测功能。利用 Trace 和 Debug 类,可以将有关错误和应用程序执行的信息记录到日志、文本文件或其他设备中,以便在随后进行分析。

二、为什么要使用跟踪?

在asp的时代,如果需要了解程序在运行时的某些状态、变量的值,通常都是在页面上采用Response.Write来输出的方式。这么做的原因,绝大多数都是因为asp薄弱的运行、开发环境造成的。这这样的做的结果是,随意在页面上输出造成页面的混乱不说,程序中添加的Response.Write还非常不容易管理,一旦有什么遗漏的话,就会给客户造成不必要的误解。

而ASP.NET的跟踪功能,不仅可以在程序运行的各个阶段,跟踪程序的状态和变量的值,另外,它还有ASP.NET本身所支持的各项管理功能。它可以和Aspx页面一起显示,也可以通过专门的方式在另外的地方呈现。据我目前所知,它有以下优点:

1、既可以整个网站统一管理,也可以在单个页面启动。通过配置web.config,可以启用整个网站的跟踪,也可以在页面上采用。

2、不影响页面的布局和呈现。

3、全面反映cookies和session的状态,这是我***次采用跟踪的一个原因。

4、完整的反应各个页面事件的过程和执行的时间。

三、开启页面内的跟踪

1、在<@page>中采用Trace="true"

2、在代码里添加“Trace.IsEnabled = true;”

3、添加自己的跟踪信息:
 
Trace.Warn("abc"); //Warn 显示的是红色的信息
Trace.Write("def"); //write显示的是普通颜色的信息

四、开启跟踪后和ASP.NET ajax冲突怎么办

在使用UpdatePanel的页面上开启了页面跟踪或者开启了全站跟踪时,pageOutput="true"就会出现Sys.WebForms.PageRequestManagerParserErrorException异常。
原因是页面跟踪时有Response.Write。
解决办法是,不用页面跟踪或者全站跟踪时,pageOutput="false"。需要查看跟踪信息时,用trace.axd。

五、性能

网站开启了跟踪,那么肯定是要低性能的。
但是在页面添加一些自定义的跟踪信息,应该对性能的影响很微小了。

【编辑推荐】

  1. 介绍ASP.NET Framework
  2. 浅谈ASP.NET应用程序
  3. ASP.NET framework的处理方法
  4. 浅析ASP.NET安全架构
  5. 概述ASP.NET MVC与FubuMVC核心框架
责任编辑:佚名 来源: 清华大学出版社
相关推荐

2009-07-30 14:09:56

拼接字符串

2009-07-24 10:10:22

ASP.NET

2009-07-24 16:17:42

WebRequestEASP.NET

2009-07-20 15:19:52

ViewState本质ASP.NET

2009-07-23 16:20:48

HTTP协议ASP.NET

2009-07-30 12:35:51

ASP.NET中的对象

2009-07-31 10:08:33

OutputCache

2009-07-20 14:54:23

HttpWorkerRASP.NET

2009-07-30 13:28:55

ASP.NET中的ja

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-20 13:32:24

ScriptManagASP.NET

2009-07-31 09:58:20

URL映射ASP.NET

2009-07-27 13:01:28

TreeViewASP.NET

2009-08-04 17:30:23

cookieless属ASP.NET

2009-07-20 17:21:43

Session状态ASP.NET

2009-07-22 17:55:52

2009-08-04 18:05:37

动态编译ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-08-03 14:22:33

什么是ASP.NET

2009-08-04 12:29:57

ViewState概念ASP.NET
点赞
收藏

51CTO技术栈公众号