ASP.NET故障排除 • 没有找到程序、没有显示ASP.NET的结果 或浏览器试图下载文件 • 不能显示页面:HTTP错误403 • 找不到页面:HTTP错误404 • 脱机时Web页面无效 • 得到服务器错误的错误语句 • 其他问题
没有找到程序、没有显示ASP.NET的结果 或浏览器试图下载文件 • 如果试图将页面作为硬盘上的本地文件来浏览, 就会遇到这样的问题。在Windows Explorer中单 击文件时也会遇到此问题。原因是用户试图不以 通过Web服务器请求的方式访问ASP.NET页面。 • 解决方法:需要在URL中引用Web服务器。 • 如果在URL中引用也出现这个问题,一般情况下 是ASP.NET的安装问题,如重新安装IIS后没有再 安装ASP.NET。
不能显示页面:HTTP错误403 • 可能是用户没有权限来执行包含在 ASP.NET中的代码。 • 解决方法:需要修改IIS的相关设置。
找不到页面:HTTP错误404 • 可能是在浏览器中输入了拼写错误的URL。 • 解决方法:输入正确的URL。 提示: • 也有可能是文件后缀名错误,如用NotePad 写的代码,错误保存为*.aspx.txt。
脱机时Web页面无效 • 可能是用户试图请求一个页面,但当前没 有与Internet的连接。 • 解决方法:单击“连接”按钮;或者调整浏览 器的“脱机”设置。
得到服务器错误的错误语句 • 可能是ASP.NET代码错误。 • 解决方法:修改错误代码。
Web访问失败 • IE选项中,选择代理时,没有把“对于本地 地址不使用代理服务器”选中
其他问题: • 可能是IIS安装不正确。 杀手锏: ASPNET_regiis
• 应用程序级调试模式 – Web.config – <compilation debug=“true”/> • 页面调试模式 – HTML页面中添加以下代码: <%@ Page Language=“c#” Debug=“true” %> – VS.NET中Document的Debug属性设置为true
• .NET框架自己带的调试器 • DbgCLR.exe • 位于:Program files\Mircosoft Visual Studio .NET\FrameWorkSDK\GuiDebug
CLR调试器使用的4个步骤 • 打开要调试的文件 • 将调试器附加到ASP.NET进程中 • 设置断点 • 使用调试器工具来操纵应用程序
在远程计算机上调试ASP.NET Web 应用程序 • 调试器在远程使用方法与在本地使用相同 • 远程调试的必需条件: – 必需安装Visual Studio remote debugging 组件 – 用户必需是Debugger User 组或Administrator – 必需具有运行ASP.NET计算机的管理员权限 – Use DCOM (not TCP/IP) for C/C++
2.4 ASP.NET调试启动故障 • 无法在Web 服务器中启动调试 • 您没有调试服务器的权限。 • 发送调试HTTP 请求时发生服务器端错误 • 没有对项目进行配置以接受调试。 • 未正确安装调试器。 • 服务器不支持对ASP.NET 或ATL 服务器应用程 序的调试。 • 访问被拒绝。检验您是否是管理员或某个组成员。 • 无法启动ASP.NET 或ATL 服务器调试。 • 访问被拒绝。
2.4 ASP.NET调试启动故障 无法在Web 服务器中启动调试 • 未将IIS 应用程序配置为使用“集成 Windows身份验证”。确保已选中“身份验证 方法”对话框中的“集成Windows身份验证” 复选框 • 检查IIS 的“保持HTTP连接” 选项。如果它 是关闭的,则可能需要将其打开,再尝试 调试。
2.4 ASP.NET调试启动故障 您没有调试服务器的权限。 • 原因1:确保已启用Integrated Windows Authentication。可能的原因是仅为IIS 的 Directory 安全启用了Basic authentication。 • 原因2:如果您在使用Integrated Windows Authentication,则需要确保您的用户帐户 能够完全控制IIS 的目录。
2.4 ASP.NET调试启动故障 发送调试HTTP 请求时发生服务器端错误 • Web 应用程序没有应用程序名。为此,请 使用IIS MMC 来检查Web 项目的属性, 确保Web 项目具有应用程序名。 • 如果使用的是NTFS 文件格式,则确保 “aspnet”具有“wwwroot”或虚拟目录文件夹 上的适当权限,才能访问和写入这些文件 夹。
2.4 ASP.NET调试启动故障 • 没有对项目进行配置以接受调试。 – 原因: 在项目属性中未启用Asp.net 调试 • 未正确安装调试器 – 未正确安装.NET Framework 应用程序。 • 服务器不支持对ASP.NET 或ATL 服务器 应用程序的调试。 – IIS和VS.NET安装顺序有错,用 ASPNET_Regiis 重新注册
2.4 ASP.NET调试启动故障 访问被拒绝。 • 检验您是否是管理员或某个组成员。您可 能不是该计算机上Debugger Users 组的成 员。将您的用户帐户添加到计算机上的 Debugger Users 组中即可解决此错误。 • 您可能是Debugger Users 组的成员,但是 您不具有调试aspnet 辅助进程的权限,因 为您不是aspnet 用户帐户或 Administrators 组的成员。将您的用户帐户 添加到机器上的Administrators 组即可解决 此问题。
2.4 ASP.NET调试启动故障 无法启动ASP.NET 或ATL 服务器调试。 • 原因1:您可能安装了IIS Lockdown 工具。如果 这样,则查找urlscan.ini 文件,并将DEBUG (区分大小写)添加到[allowverbs] 部分中。 • 原因2:如果将域控制器用作服务器,并且项目 是使用机器名(非完整域名)创建的,则可能需 要将项目的URL 更改为完整域名。 • 原因3:如果将IIS 设置为使用专用IP(例如 Web site identification,可以在IIS MMC 的IIS 设置中找到这一选项),则可能看到这条错误消 息。原因4:web.config 文件的中的值太大。默 认单位是千字节而非字节,因此如果更改此数 字,使用了错误的单位,则可能导致调试问题。
试用Response跟踪 • 新建web应用程序 • 添加用户名称、密码文本框、登录按钮 • 为登录按钮添加事件 • 在事件中用Response.Write来跟踪值是否 正确
跟踪 • 便利的来展示应用程序ASP.NET Web的信 息 • 两种方式跟踪: – Page-level 跟踪 • 在浏览器中输出 • 不影响页面性能 – Application-level 跟踪 • 许可一次察看多个请求 • 自动为程序中的所有页开启page-level
2.1 在页面级使用跟踪 • 在HTML页添加以下代码 <%@ Page Trace=“true” %> • VS.NET中的设置 – Document的Trace属性设置为true
跟踪输出 • 请求内容:包含关于页面请求的信息 • 跟踪信息:显示实际的跟踪信息 • 控制树:显示页面使用的不同控件 • Cookies集合:显示页面中的所有 Cookie • 标题集合:显示客户端传送到服务器端 的连同请求的各种HTTP标题 • 服务器变量:显示服务器变量集合的所 有成员
2.2 写到跟踪日志 • Trace.Write: • Trace.Warn:红色显示 注: • Trace对象对应的类为TraceContext • Trace.IsEnabled属性可以得到跟踪的当前 状态
Application-Level 跟踪日志 • 为所有页开启page-level跟踪 • 收集统计状态信息及控件层次 • 开启跟踪需按以下方式修改Web.config文件: <configuration> <system.web> <trace enabled="true"/> </system.web> </configuration> • 轻松察看多个请求的响应细节
支持的属性 设置true | false, 指示跟踪是否仅对本地用户或所有用户 (default is true) localOnly 设置SortByTime | SortByCategory, 指示显示排序方式 (default is SortByTime) traceMode requestLimit 跟踪请求在服务器端的存储数量(default is 10) 设置true | false, 用于标记跟踪信息是否在页面被显示,包 括在每个页面直接输出,或是通过trace.axd文件输出。 (默认为关闭) pageOutput enabled 设置true | false, 用于标记跟踪是否开启(默认为关闭) Value Description
|
请发表评论