调试和跟踪ASP.NET应用程序

一、ASP.NET的安装

1.         可以通过安装VS.net来安装

2.         分步安装

1)         IIS

2)         安装MDAC2.7(Microsoft Data AccessComponets),可以从http://www.microsoft.com/data下载(56M),运行MDAC_typ_dnld.exe

3)         安装.NetFrameWork

二、ASP.NET运行故障

1.         没有找到程序、没有显示ASP.NET的结果或浏览器试图下载文件

如果试图将页面作为硬盘上的本地文件来浏览,就会遇到这样的问题。在Windows Explorer中单击文件时也会遇到此问题。原因是用户试图不以通过Web服务器请求的方式访问ASP.NET页面。

需要在URL中引用Web服务器。如果在URL中引用也出现这个问题,一般情况下是ASP.NET的安装问题,如重新安装IIS后没有再安装ASP.NET

2.         不能显示页面:HTTP错误403

可能是用户没有权限来执行包含在ASP.NET中的代码。需要修改IIS的相关设置。

3.         找不到页面:HTTP错误404

可能是在浏览器中输入了拼写错误的URL。有可能是文件后缀名错误,如用NotePad写的代码,错误保存为*.aspx.txt

4.         脱机时Web页面无效

可能是用户试图请求一个页面,但当前没有与Internet的连接。

5.         得到服务器错误的错误语句

可能是ASP.NET代码错误。

6.         Web访问失败

IE选项中,选择代理时,没有把“对于本地地址不使用代理服务器”选中

7.         其他问题

可能是IIS安装不正确。杀手锏:ASPNET_regiis –i

三、 启动调试模式

1.         应用程序级调试模式Web.config

<compilation debug=“true”/>

2.         页面调试模式

HTML页面中添加以下代码:<%@ Page Language=“c#” Debug=“true”%>

VS.NETDocumentDebug属性设置为true

3.         调试工具

1vs studio

2)附加进程

3dbgclr.exe .NetFramework自带

四、ASP.NET调试启动故障

1.         无法在Web 服务器中启动调试

未将IIS 应用程序配置为使用“集成Windows身份验证”。确保已选中“身份验证方法”对话框中的“集成Windows身份验证”

检查IIS 的“保持HTTP连接” 选项。如果它是关闭的,则可能需要将其打开,再尝试调试。

2.         您没有调试服务器的权限。

原因1:确保已启用Integrated WindowsAuthentication。可能的原因是仅为IIS Directory 安全启用了Basicauthentication

原因2:如果您在使用Integrated WindowsAuthentication,则需要确保您的用户帐户能够完全控制IIS 的目录。

3.         发送调试HTTP 请求时发生服务器端错误

Web 应用程序没有应用程序名。为此,请使用IIS MMC 来检查Web 项目的属性,确保Web 项目具有应用程序名。

如果使用的是NTFS 文件格式,则确保“aspnet”具有“wwwroot”或虚拟目录文件夹上的适当权限,才能访问和写入这些文件夹。

4.         没有对项目进行配置以接受调试。

原因: 在项目属性中未启用Asp.net 调试

5.         服务器不支持对ASP.NET ATL 服务器应用程序的调试。

IISVS.NET安装顺序有错,用ASPNET_Regiis 重新注册

6.         访问被拒绝。

检验您是否是管理员或某个组成员。您可能不是该计算机上Debugger Users 组的成员。将您的用户帐户添加到计算机上的Debugger Users 组中即可解决此错误。

您可能是Debugger Users 组的成员,但是您不具有调试aspnet 辅助进程的权限,因为您不是aspnet 用户帐户或Administrators 组的成员。将您的用户帐户添加到机器上的Administrators 组即可解决此问题。

7.         无法启动ASP.NET ATL 服务器调试。

原因1:您可能安装了IIS Lockdown 工具。如果这样,则查找urlscan.ini 文件,并将DEBUG(区分大小写)添加到[allowverbs] 部分中。

原因2:如果将域控制器用作服务器,并且项目是使用机器名(非完整域名)创建的,则可能需要将项目的URL 更改为完整域名。

原因3:如果将IIS 设置为使用专用IP(例如Web site identification,可以在IIS MMC IIS

设置中找到这一选项),则可能看到这条错误消息。

原因4web.config 文件的中的值太大。默认单位是千字节而非字节,因此如果更改此数字,使用了错误的单位,则可能导致调试问题。

五、跟踪

在页面级使用跟踪

写到跟踪日志

应用程序级跟踪

两种方式跟踪:

Page-level 跟踪

在浏览器中输出

不影响页面性能

Application-level 跟踪

许可一次察看多个请求

自动为程序中的所有页开启page-level跟踪输出

请求内容:包含关于页面请求的信息

跟踪信息:显示实际的跟踪信息

控制树:显示页面使用的不同控件

Cookies集合:显示页面中的所有Cookie

标题集合:显示客户端传送到服务器端的连同请求的各种HTTP标题

服务器变量:显示服务器变量集合的所有成员

1  写到跟踪日志

Trace.Write

Trace.Warn:红色显示

Trace对象对应的类为TraceContext

Trace.IsEnabled属性可以得到跟踪的当前状态

2  Application-Level 跟踪日志

为所有页开启page-level跟踪

收集统计状态信息及控件层次

开启跟踪需按以下方式修改Web.config文件:

<configuration>

<system.web>

<trace enabled="true"/>

</system.web>

</configuration>

轻松察看多个请求的响应细节

支持的属性

Value

Description

enabled

设置true | false, 用于标记跟踪是否开启(默认为关闭)

pageOutput

设置true | false, 用于标记跟踪信息是否在页面被显示,包括在每个页面直接输出,或是通过trace.axd文件输出。

如网址是http://localhost:2594/DebugAndTrace/trace.axd来访问。(默认为关闭)

requestLimit

跟踪请求在服务器端的存储数量(default is 10)

traceMode

设置SortByTime | SortByCategory, 指示显示排序方式(default is SortByTime)

localOnly

设置true | false, 指示跟踪是否仅对本地用户或所有用户(default is true)

Eg:

  Trace.TraceMode = TraceMode.SortByCategory;

            Trace.Warn("Page_Load","Page Loaded");

              if(!IsPostBack)

                   Trace.Warn("Page_Load","Not in a postback");

              else

                   Trace.Warn("Page_Load","In a postback");

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值