asp.net中“线程正被中止”异常的解决方法
asp.net中“线程正被中止”异常的解决方法
在项目里负责异常处理部分:异常信息的写入,读取,查看,因此就可以看到各种异常,受益匪浅
看到有N多的“线程正被中止”异常,而且来自同一个页面。
System.Threading.ThreadAbortException: 线程正被中止。
at System.Threading.Thread.AbortInternal()
at System.Threading.Thread.Abort(Object stateInfo) at System.Web.HttpResponse.End()
at System.Web.HttpServerUtility.Transfer(String path, Boolean preserveForm)
at RPM.Page.LogInHR.btnLogin_Click(Object sender, EventArgs e)
in c:\inetpub\wwwroot\rpm_2\page\login\loginhr.aspx.cs:line 363
虽然捕获了,但并没有跳转到错误页面,但这个信息是在错误页面被写入数据库的!
我做了个试验,在异常信息查询页面跳转到异常信息一览页面
引发异常的页面:
try
{
// 异常一览页面
Server.Transfer("../SystemManagement/ErrorReportView.aspx",false);
}
catch (Exception ex)
{
HttpContext.Current.Session["CurrentError"] = ex.ToString();
HttpContext.Current.Session["CurrentErrorUrl"] = HttpContext.Current.Request.Url.ToString();
// 跳转到异常信息显示页面
HttpContext.Current.Server.Transfer("ErrorReport.aspx",false);
}
异常信息显示页面对异常的处理:
string errortip = "<h4>" + Resources["MEMO_346"] + "</h4>" + "<br><br>";
string error =
"在页面:" + "<br>"
+ (string)Session["CurrentErrorUrl"] +"<br>"
+ "发生了如下异常:" + "<br>"
+ (string)Session["CurrentError"];
// 部署时 不要显示异常信息!
&nb
相关文档:
ASP.NET程序中常用代码汇总
1.自定义异常处理
//自定义异常处理类
using System;
using System.Diagnostics;
namespace MyAppException
{
/// <summary>
/// 从系统异常类ApplicationException继承的应用程序异常处理类。
/// 自动将异常内容记录到Windows NT/2000的应用程序日志
/// </summary>
......
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
< ......
首先法方有3个,这里就说2个实用的。。。
1,直接为 控件 innerhtml 添加值
2,createElement (创建COM)
3,后台 NEW 控件,添加
这里说下 1,2 两个法方!
1:
动态生成 字符串 string inntext=" <table> <tr> <td style=width:300px;text-align:right; >{0}<input id={1} type=text c ......
给出一个字符串,如“中国China我爱你I love you”,程序可以实现中英文的区别;
识别结果如下:共四个元素
中国
China
我爱你
I love you
string ptn = "[\u4e00-\u9fa5]+|[a-zA-Z\\s]+";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(ptn);
s ......