.NET服务器常用报错解决方法

.NET 服务器常用报错解决方法:(网站与服务). Windows server 2008系统的IIS如何启用父路径?2013年8月28日 Tags: 2008 iis 2008 iis父路径操作系统 windows iis7windows server 2008的IIS还是和之前的win2000、winxp、win2003系统的IIS 版本相比,在界面上和功能上都有很大的变化,首先是功能增加了,安全性增强了,但配置操作的也比较以前的老版本复杂多了。

我用的是win2008 r2英文版,安装配置zblog程序的时候发现,后台管理的登录界面的验证码死活显示不出来,后来估计是path的问题,但是又找不到像IIS6.0一样的设置。

在网站属性->主目录->配置->选项中启用父目录没有这个选项。

后来发现,win2008的IIS要启用父路径,是要到ASP菜单中编辑的。

打开IIS后,选中你的网站站点,右边会出现对应的功能视图:点击网站图标后,然后在右边找到ASP。

在IIS管理器中找到ASP图标,双击进去编辑,把启用父路径改为"true",然后点击右边的应用即可。

解决方法:An error occurred on the server when processing the URL. Please contact the system administrator2011-04-07 12:15:37 来源:源码之家站长整理【大中小】浏览:63607 次在WINDOWS7或SERVER2008上安装了IIS7.5,调试ASP程序时出现以下错误:An error occurred on the server when processing the URL. Please contact the system administrator解决方法如下:设置方法一:以管理员身份运行CMD,将目录定位到%windir%\system32\inetsrv\,然后执行appcmd set config -section:asp -scriptErrorSentToBrowser:true。

%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true设置方法二:打开IIS7的asp设置,展开“调试属性”选项,“将错误发送到浏览器”这项默认的是False,改为True,然后点右侧的应用!如图所示:通过以上设置后,再从浏览时打开出错ASP页面时就能看到页面出错的详细信息,方使调试。

如果是公开的Web服务器建议不要打开此选项,以防出错信息被他人利用。

网站http服务器内部500错误的解决方法 [图文]来源:互联网作者:佚名时间:08-21 15:13:44【大中小】很多站长在建设网站时,经常遇到程序运行时打不开的问题,有的是因为程序出现错误,无法运行,而有的是因为服务器的原因,这篇文章从客户端设置等方面尽量快速发现问题所在很多站长在建设网站时,经常遇到程序运行时打不开的问题,有的是因为程序出现错误,无法运行,而有的是因为服务器的原因。

今天78t站长网先为大家整理一个常见的错误和解决办法,希望能有所帮助,如果您采用以下办法还没有解决,您可以联系站长。

今天介绍的错误是:http服务器内部500错误,这个错误是很多站长无论是自己写的程序还是下载采用别人的源程序经常遇到的。

一按错页面显示是:网站无法显示该页面HTTP 500最可能的原因是:•该网站正在进行维护。

•该网站有程序错误。

您可以尝试以下操作:刷新该网页。

返回到上一页。

更多信息此错误(HTTP 500 内部服务器错误)意味着您正在访问的网站出现了服务器问题,此问题阻止了该网页的显示。

有关 HTTP 错误的详细信息,请参阅帮助。

很多站长看到这个页面便目瞪口呆,有的人到百度搜索答案,网上的答案大同小异,很多都很复杂,根本不知道在说什么。

其实服务器内部500错误大概可分为两种,一种是服务器本身权限问题,另一种是程序上不规范或者错误造成。

所以要解决此问题需要先弄清楚其到底是哪种原因,那该如何检测是那种原因呢?请往下看:在IE浏览器下点击工具-internet选项-高级,滚动条拉到最后,将“显示友好HTTP 错误信息”前的勾去掉,确定,这时刷新“500内部服务器错误”页面,或者重新启动该页面,页面便会弹出新的报错项目,这是网页报错的信息便会告诉你是原因导致此错误发生。

当然这时,很多站长会发现即使显示出错误类型了,还是不知道怎么解决,最简单方法就是你吧新的错误类型再次复制到到百度里进行提问查询,便知道如何解决了。

对于程序问题,在这里实在不好说是怎么解决,因为程序错误类型很多,根本不知道各位站长会遇到怎样的错误,如果查出来是权限问题,那么好解决,往下看:程序在本地情况下:点击进入到源程序的根目录文件夹,点击最上面的工具-文件夹选项-查看,将“使用简单文件共享(推荐)”前面的勾去掉,确定。

这时要对你要设置权限的文件或者文件夹进行更改权限,选中文件或文件夹右击,属性-安全-添加-高级-立即查找,在下面的一组用户中选择IWAM_(你的计算机名)和IUSR_(你的计算机名),确定,返回“安全”界面,将IWAM_(你的计算机名)(为进程账户)权限设置为完全控制,IUSR_(你的计算机名)(来宾账户)设置成读取权限。

如果你要是觉得很烦,最简单就是选中整个存放程序的文件夹,注意是存放程序的文件夹,进行右击重复以上步骤,当选择权限时,直接选择 Everyone确定后将权限设置成完全控制即可,如果你的程序是在服务器上出现权限问题需要跟精简服务商联系了!http 500内部服务器错误如何解决http 500内部服务器错误如何解决?首先你要先装好IIS,XP SP2中的应该是5.1版本的,安装方法:1->打开控制面板,选择添加删除程序2->选择添加删除组件,选择Internet信息服务,也就是IIS3->点击下一步安装就好了安装好之后也许你的机子会正常的显示http://localhost/的页面,但很遗憾我的无法正常显示,而且是显示HTTP 500 内部服务器错误,当然我相信肯定有很多人遇到这种情况,搜索一下就知道有多少了。

解决方法:首先我们要在Internet Explore中选择工具->Internet选项->高级->显示友好的HTTP错误信息,把这一项前面的对钩取消。

这样刷新一下http://localhost/这个页面就会显示出详细的出错信息,有可能会有其他原因,现在只说我遇到的,也是大多数人遇到的错误原因,也就是下面的错误:Server Application ErrorThe server has encountered an error while loading an application during the pro cessing of your request. Please refer to the event log for more detail informat ion. Please contact the server administrator for assistance.至于出错的具体原因,在这里就不多说了,我们只谈论解决的办法,如果你有兴趣去弄明白其原因,你可以参阅网上的其他资料。

解决方案:1->右击我的电脑->管理->本地用户和组->用户,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样2->开始->运行->输入cmd进入控制台3->在控制台下输入cd c:\Inetpub\AdminScripts4->输入cscript.exe adsutil.vbs set w3svc/wamuserpass 你的密码5->输入cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你的密码注意这时候控制台不要关闭刷新http://localhost/如果正常显示出两个页面,说明正常,下面的就可以不去做,如果不行就请继续6->继续在控制台下输入cscript.exe synciwam.vbs -v7->如果这时候出现8004e00f错误的话跳过步骤8,直接执行步骤98->输入iisreset,重启IIS,刷新http://localhost/,正常9->开始->运行->输入dcomcnfg->进入组件服务->点击右边的组件服务->计算机->我的电脑->COM+应用程序报错"COM+ 无法与 Microsoft 分布式事务协调程序交谈",无法查看里面的对象10->进入事件查看器,发现msdtc服务没有正常启动。

11->开始->运行->输入regedit进入注册表(下面删除的几项最好先导出一下)12->找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC删除13->找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC删除14->找到HKEY_CLASSES_ROOT\CID删除15->在控制台下继续输入net stop msdtc停止MSDTC服务16->输入msdtc -uninstall卸载MSDTC服务17->输入msdtc -install重新安装MSDTC服务18->确认在事件查看器中msdtc服务已经正常启动19->如果没有正常工作,请重新执行第17步骤,多执行几次,这样我们可以看到COM+应用程序可以访问,如果不能重启电脑看下,IIS也应该能正常工作,刷新http://localhos t/,刷新页面看下是否成功,如果还是不成功的话,就把IIS重新安装一下。

20->问题解决。

今天一客户打电话说页面无法加载,我过去看了下出现下面的问题。

这样的问题也是程序在运行时常遇见的,所以在解决后就给贴出来了~~问题:BC30138: 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。

解决方法:找到temp文件夹,右击选择“共享与安服务器错误500 - 内部服务器错误。

您查找的资源存在问题,因而无法显示。

服务器为WINDOW7+sqlserver2005+asp的环境。

合集下载

net应用程序出现CLR20R3错误

net应用程序出现CLR20R3错误

这是因为.NET Framework 1.0 和1.1 这两个版本对许多未处理异常(例如,线程池线程中的未处理异常)提供支撑,而Framework 2.0 版中,公共语言运行库允许线程中的多数未处理异常自然继续。

在多数情况下,这意味着未处理异常会导致应用程序终止。

一、C/S 解决方案(以下任何一种方法)1. 在应用程序配置文件中,添加如下内容:<configuration><runtime><legacyUnhandledExceptionPolicy enabled="true" /></runtime></configuration>2. 在应用程序配置文件中,添加如下内容:<configuration><startup><supportedRuntime version="v1.1.4322"/></startup></configuration>3. 使用Application.ThreadException事件在异常导致程序退出前截获异常。

示例如下:[SecurityPermission(SecurityAction.Demand, Flags =SecurityPermissionFlag.ControlAppDomain)]public static void Main(string[] args){Application.ThreadException += newThreadExceptionEventHandler(ErrorHandlerForm.Form1_UIThreadException);Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);Application.Run(new ErrorHandlerForm());}// 在主线程中产生异常private void button1_Click(object sender, System.EventArgs e){throw new ArgumentException("The parameter was invalid");}// 创建产生异常的线程private void button2_Click(object sender, System.EventArgs e){ThreadStart newThreadStart = new ThreadStart(newThread_Execute);newThread = new Thread(newThreadStart);newThread.Start();}// 产生异常的方法void newThread_Execute(){throw new Exception("The method or operation is not implemented.");}private static void Form1_UIThreadException(object sender, ThreadExceptionEventArgs t) {DialogResult result = DialogResult.Cancel;try{result = ShowThreadExceptionDialog("Windows Forms Error", t.Exception);}catch{try{MessageBox.Show("Fatal Windows Forms Error","Fatal Windows Forms Error", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop);}finally{Application.Exit();}}if (result == DialogResult.Abort)Application.Exit();}// 由于UnhandledException 无法阻止应用程序终止,因而此示例只是在终止前将错误记录在应用程序事件日志中。

在工作中所遇到的.net问题和解决方案

在工作中所遇到的.net问题和解决方案

在工作中所遇到的.net问题和解决方案:1、中updatepanel内控件的js失效问题中UpdatePanel内控件的JS失效的问题问题:大概意思如下:<UpdatePanel><ContentTemplate><asp:TextBox ID="aaa"/></ContentTemplate></UpdatePanel><script>$(document).ready(function(){var id = "<%= aaa.ClientID%>";$("#"+id).click(function(){alert("aaa");});});</script>第一次点击TextBox是能弹出对话框,但是经过刷新之后点击就失效了。

请问怎么解决?回答:因为Updatapanel没有postback,你的js不会重新加载。

所以失效。

你在你的页面加一段这样的代码就可以了:<script type="text/javascript" language="javascript">var prm = Sys.WebForms.PageRequestManager.getInstance();prm.add_endRequest(function () {// re-bind your jquery events here$(document).ready(function(){var id = "<%= aaa.ClientID%>";$("#"+id).click(function(){alert("aaa");});});});</script>原文:/question/250731985.htmlUpdatePanel 中js失效问题2010-06-21 18:02UpdatePanel来回往返不会保留Javascript 或其他客户端技术(如 Adobe Flash)生成的任何效果。

.Net程序内存异常的原因及解决

.Net程序内存异常的原因及解决

.Net程序内存异常的原因及解决⽬录⼀、概要⼆、场景三、思路(1)分析Part1,分析⽇志堆积原因Part2,查找内存泄漏的根本原因(2)⼯具Part3,总结Part4,彩蛋⼀、概要⼤概在今年三⽉份的时候突然被紧急调到另外⼀个项⽬组解决线上内存异常问题。

经过两周的玩命奋战终于解决了这个问题这⾥把⼼路历程及思路分享给⼤家。

希望可以帮助到各位或现在正遇到这样事情的⼩伙伴提供⼀些思路。

⼆、场景当部门⽼⼤找到我的时候,给我描述了这样⼀段话。

“⽬前服务出现了提交内存异常的问题,⽬前分析出来可能是⽇志组件有⼤量的⽇志消息堆积把内存占满导致服务崩溃了。

在国内某地区客户的服务器上15000台物联⽹设备不能正常⼯作这个问题⾮常紧急需要马上解决。

”问题描述⾄此,没有其他可⽤信息。

这时候我先崩溃了...但是任务找到你不能说不⾏。

万⼀解决了这种重⼤事故还能在部门⽼⼤⾯前秀⼀把。

三、思路(1)分析Part1,分析⽇志堆积原因拿到服务器地址去翻出⽇志⽂件,查看⽇志内容;内容基本上都是⼀些报错情况xxx对象为null,对象转换失败。

⽇志组件的实现也⽐较糟糕Log对象在每个调⽤的类⾥都会重新new解决⽅案:修复对象为null的问题并加上空值判断,⼤概的原因就是json值转换的时候传⼊的值是null那么就引起这两块的连锁反应。

⾮常值得注意的⼀点是通常json对象转换的地⽅都会加⼊try块去捕获异常在程序⾥try的捕捉是会对.net程序造成性能影响的所以能⽤判断规避的尽量不要去触发try机制,程序性能被拖下去其他⽅⾯的处理就会变相的削减处理速度变慢那么数据堆积好像就解释的通了。

将⽇志组件重构为单例且线程安全的实现,写⼊⽇志的数据结构体是class这⾥改成struct,考虑的因素是引⽤类型会存在引⽤问题再就是考虑的值类型和引⽤类型在内存中占⽤的⼤⼩是不⼀样的,⽽且值类型和引⽤类型在处理速度上值类型更快。

以为这样就结束了吗?不,当程序改好之后放在测试服务器上跑第⼆天早上测试部的⼩姐姐就找到我说异常报错情况是好了,但是内存泄漏还是没解决。

asp.net常见问题及解决方法

asp.net常见问题及解决方法

【标题】常见错误,原因及解决方法【错误提示】异常详细信息: .WebException: 请求因HTTP 状态401 失败:Unauthorized。

源错误:行35:[System.Web.Services.Protocols.SoapDocumentMethodAttribute("/HelloWorld", RequestNamespace="/", ResponseNamespace="/", Use=System.Web.Services.Description.SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]行36:public string HelloWorld() {行37:object[] results = this.Invoke("HelloWorld", new object[0]);行38:return ((string)(results[0]));行39:}【原因分析】1、用的是windows2003,.net framework1.1,.net20032、应该有权限访问,因为原来用程序是可以的,现在用IE 去访问还是可以的,但程序不行;3、iis 没有什么异常,从iis 里面直接浏览调用web 方法没有问题;4、认证方式没有改变一直用的都是windows,改成none 也不行;5、一开始就安装了WSE1.1,是可以的,后来升级到WSE2.0,就不行了,然后卸载了WSE2.0,装上WSE2.0 SP1 还是不行,后来又卸载掉WSE2.0 SP1 还是不行,再重装WSE2.0 SP1 还是不行,不得其解,现在试试卸载掉WSE2.0 SP1 重新用WSE1.1 看行不行,请各位多多帮忙啊。

Net中常见问题及解决方法归类

Net中常见问题及解决方法归类

.Net中常见问题及解决方法归类VS2002 到VS2003,又到今天的VS2005,给我们广大研发人员提供了极大的方便,但是里面也存在许多异常的错误,偶尔我们会为其所扰,就连微软内部人士也承认,有的异常错误至今尚未修复,下面是一些常见的VS异常错误以及解决方法,现整理于下,相信各位肯定或多或少的也遇到过类似的问题,欢迎各位参与讨论。

1.错误一:Global.asax错误分析器错误说明: 在分析向此请求提供服务所需资源时出错。

请检查下列特定分析错误详细信息并适当地修改源文件。

分析器错误信息: 未能加载类型“xxx.Global”。

源错误:行 1: <%@ Application Codebehind="Global.asax.cs"Inherits="xxx.Global" %>源文件: c:\inetpub\wwwroot\xxx\global.asax 行: 1解决方法:删除global;重新编译;还原删除的global;重新编译;OK2.错误二:IIS无法正常解析aspx页面的错误正常情况下,系统中只要安装了.NET的SDK后,IIS即可解释aspx页面。

但是当我们重装IIS或发生一些见鬼的情况后,IIS的各项配置恢复到最初始的状态,此时的IIS不再解释aspx页面。

解决方法:在命令行的方式下,运行regsvr32C:\WINNT\\Framework\v1.0.3705\aspnet_isapi.dll -i 或直接运行aspnet_regiis.exe3.错误三:无法正常调试的问题该问题不能所作一个异常情况,这个问题的产生原因很可能是权限的问题,当遇到无法调试的情况后,你可尝试做以下两步操作:1、I E浏览器 -> Internet选项 -> 安全 -> Internet自定义级别 -> 用户验证 --> 登陆 : 自动使用当前用户名和密码2、在解决方案资源管理器中的项目上右击,选"属性",在打开的窗口里选"配置属性"/"调试",将"启用调试"改为"Ture"4.错误四:WebControls控件无法正常使用可能原因1,虚拟目录丢失,该控件所对应的虚拟目录名为webctrl_client,实际文件目录为"安装路径\webctrl_client"可能原因2,系统中安装过多个版本的WebControls控件。

WindowsServer2019中安装.NETFramework3.5功能出错解决方法

WindowsServer2019中安装.NETFramework3.5功能出错解决方法
1首先下载windows镜像中的sxs文件夹包有windows镜像文件的可以直接解压获取没有的从下面地址下载
WindowsServer2019中安装 .NETFramework3.5功能出错解决方 法
问题描述:Windows server 2019系统安装net framework3.5时默认情况下会出现报错,提示错误:error 0x800F0954。 问题说明:根据网上资料尝试了几种方式都不行: (1)离线下载net framework3.5进行安装(不行); (2)改注册表,设置windows更新(不行); (3)通过cmd或powershell窗口执行指令(不行); 最后,还是通过系统镜像原始文件中的包安装比较稳妥。 解决办法: 1、首先下载Windows镜像中的sxs文件夹包(有windows镜像文件的可以直接解压获取,没有的从下面地址下载) 2、下载完成后,将sxs文件夹解压到本地磁盘目录,例如:D:\package\sxs。 3、根据如

解决Win10上安装.NETFramework3.5错误码0x8024402C问题

解决Win10上安装.NETFramework3.5错误码0x8024402C问题Windows10上安装.net framework3.5
⽅法⼀编辑本地组策略
1. 打开本地组策略编辑器,搜索gpedit.msc
2.本地计算机策略>计算机配置>管理模板>系统,找到可选组件安装和组件修复指定设置
3.启⽤
4.双击,打开为可选组件安装和组件修复指定设置组策略设置,然后选择已启⽤;
5.如果要指定替代源⽂件,请在“替代源⽂件路径”框中指定包含软件的完整路径,如
E:\软件及⼯具\dotnetfx35.exe
6.如果执⾏此操作,选中直接联系 Windows 更新以下载修复内容⽽不是Windows 服务器更新服务 (WSUS)复选框。

7.点击或单击“确定”。

8.命令提⽰符下,键⼊gpupdate /force,敲Enter键。

⽅法⼆重启windows update
以管理员⾝份启动命令符,按顺序执⾏以下指令
net stop wuauserv
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
net start wuauserv
重启电脑,安装.net framework3.5
连接远程服务器或⽹络原因可能需要尝试多次,第2次安装成功。

当先安装.NET后安装IIS导致服务器应用程序不可用解决方法

我在使用vs2008做。

net的时候服务器报错。

报错:服务器应用程序不可用,您试图在此Web 服务器上访问的Web应用程序当前不可用。

请点击Web 浏览器中的“刷新”按钮重试您的请求。

管理员注意事项:详述此特定请求失败原因的错误信息可在Web 服务器的系统事件日志中找到。

请检查此日志项以查明导致该错误发生的原因。

解决方法:以下方法没有先后之分,你可以根据自己实际情况来选择不同的解决方法,不过如果你按照以下方法一一试过,绝对能把问题解决。

1)&nbsp; 首先确认你IIS是开着的,最简单的方法是重新启动你的IIS服务器2)重新注册.Net 2.0,如果你是先装了.Net,然后再装iis,建议你试下此方法。

C:\WINDOWS\\Framework\ –iC:\WINNT\\Framework\运行它,重新注册一下.netaspnet_regiis.exe -u 先卸载aspnet_regiis.exe -i 重新安装重启一下服务器就好了3)添加Users用户如果在系统的事件日志中找到的是:事件类型: 错误事件来源: 事件种类: 无事件ID: 1088日期: 2006-11-7事件: 11:13:11用户: N/A计算机: WEB-FIRST描述:由于无法创建应用程序域,因此未能执行请求。

错误: 0x 拒绝访问。

方法:当前网站目录->右键->属性->安全->添加->高级->立即查找->选择Users 用户->确定->确定4)右键站点- 权限-- 添加-->高级-->立即查找-->选中Users -->权限为‘除了‘完全控制’外所有权限最后请检查一下你的权限设置。

不行的话按照上面的步骤把aspnet 、Network Service 、internet 来宾账号这3个账号都赋予了相应的权限。

如果还是解决不了就抱起电脑,举起,做自由落体运动!。

ASP。NET常见错误及解决方案

MyClassMC myMC = new MyClassMC(); int j = myMC[1]; // CS0021 } }
9. 编译器错误 CS0023
错误信息
运算符“operator”无法应用于“type”类型的操作数。
解决方案
试图将运算符应用于类型没有被设计用于该运算符的变量。有关更多信息,请参见数据 类型(C# 编程指南)和 C# 运算符。
int i = 50; long lng = 100; i = lng; i = lng; 进行赋值运算,但赋值运算符左右两边变量的数据类型不匹配。进行赋值前,编 译器将变量 lng(类型为 long)隐式转换为 int。此为隐式转换,原因是没有代码显式指示 编译器执行此转换。此代码的问题在于上述转换被视为收缩转换,而编译器不允许进行隐式 收缩转换,原因是可能会丢失数据。 如果转换后的数据类型所占用的内存存储空间比转换前的数据类型所占用的少,则存在 收缩转换。例如,将 long 类型转换为 int 类型就被视为收缩转换。long 类型占用 8 个字 节的内存,而 int 类型只占用 4 个字节。若要查看数据丢失如何发生,请考虑以下示例: int i = 50; long lng = 3147483647; i = lng; 变量 lng 现在包含的值无法存储在变量 i 中,原因是该值太大。如果要将该值转换为 int 类型,就会丢失一些数据,并且转换后的值不同于转换前的值。 扩大转换与收缩转换相反。对于扩大转换,转换后的数据类型占用的内存存储空间比转 换前的数据类型占用的多。下面是一个扩大转换的示例:
4
扫雷英雄榜——常见错误及解决方案 王牌8
// CS0023.cs namespace x {
public class a {

ASP NET错误处理方法归结

错误处理方法归结(方法1):page_error 事件最近接触这方面的知识比较多,从网上搜集了些资料,总结出来,供大家参考,有不妥的地方,还请大家多多指正。

言归正传, 提供了三种用于在出现错误时捕获和响应错误的主要方法:page_error 事件、application_error 事件以及应用程序配置文件(Web.config)。

这三种方法的主要作用无非是创建自定义的错误报告,创建自定义错误报告的作用无非是:出于安全方面的考虑,还有就是为了向用户展示友好的错误页面,提高程序的友好性。

话不多说,首先介绍提供的第一种错误处理方法:Page_Error 事件,现举例说明如下:Page_Error 事件提供了一种捕获页面级错误的方法。

对于错误的处理,您可以只是显示错误信息(正如下面的示例代码所示),也可以记录事件或执行某个其他操作。

备注:此示例在浏览器中显示了详细的错误信息,提供此示例只是为了进行说明。

向应用程序的最终用户展示出错的详细信息是非常危险的(尤其是web程序)。

更适当的做法是向用户显示一条消息,告知其已发生错误,然后将具体的错误信息记录在事件日志中。

本例是在Page_Load事件中有意引发一个空异常来测试Page_Error 事件的。

举例:创建web程序—新建页面PageEvent.aspx,然后将以下代码添加到PageEvent.aspx中:<script language="C#" runat="server">void Page_Load(object sender, System.EventArgs e){// 引发“空引用”异常throw (new ArgumentNullException());}public void Page_Error(object sender, EventArgs e){Exception objErr = Server.GetLastError().GetBaseException(); // 获取错误string err = "1.error in: &nbsp; &nbsp; &nbsp;" + Request.Url.ToString() + "</br>" +"2.error Message: &nbsp; &nbsp; &nbsp;" + objErr.Message.ToString() + "</br>" +"3.stack Trace: &nbsp; &nbsp; &nbsp;" + objErr.StackTrace.ToString() + "</br>";Response.Write(err.ToString()); //输出错误信息// Response.Redirect("ErrorPage.htm"); //可以重定向到友好的错误页面Server.ClearError();}</script>保存,右击该页面—“在浏览器中查看”,即可看到捕获到的自定义错误信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档