[Serializable]
public class MyException : Exception
{
public MyException(): base(){}
public MyException(string message): base(message){}
public MyException(string message, Exception inner) : base( message, inner){}
public MyException(SerializationInfo info, StreamingContext context)
:base(info,context){}
}
public override string Message
{
get
{
// 具体处理可以放在这里
// switch (exceptionType)
// {
// case CustomExceptionType.UserNotFound:
// return string.Format(ResourceManager.GetString("Exception_UserNotFound"), base.Message);
// }
return base.Message;
}
}
public override int GetHashCode()
{
string stringToHash = ( exceptionType + base.Message);
return stringToHash.GetHashCode();
}
#endregion
错误产生的属性#region 错误产生的属性
string userAgent = string.Empty;
public string UserAgent
{
get { return userAgent; }
set { userAgent = value; }
}
public int Category
{
get { return (int) exceptionType; }
set { exceptionType = (CustomExceptionType) value; }
}
string ipAddress = string.Empty;
public string IPAddress
{
get { return ipAddress; }
set { ipAddress = value; }
}
string httpReferrer = string.Empty;
public string HttpReferrer
{
get { return httpReferrer; }
set { httpReferrer = value; }
}
string httpVerb = string.Empty;
public string HttpVerb
{
get { return httpVerb; }
set { httpVerb = value; }
}
string httpPathAndQuery = string.Empty;
public string HttpPathAndQuery
{
get { return httpPathAndQuery; }
set { httpPathAndQuery = value; }
}
DateTime dateCreated;
public DateTime DateCreated
{
get { return dateCreated; }
set { dateCreated = value; }
}
DateTime dateLastOccurred;
public DateTime DateLastOccurred
{
get { return dateLastOccurred; }
set { dateLastOccurred = value; }
}
int frequency = 0;
public int Frequency
{
get { return frequency; }
set { frequency = value; }
}
string stackTrace = string.Empty;
public string LoggedStackTrace
{
get
{
return stackTrace;
}
set
{
stackTrace = value;
}
}
int exceptionID = 0;
public int ExceptionID
{
get
{
return exceptionID;
}
set
{
exceptionID = value;
}
}
#endregion
public int MessageId
{
get { return messageid; }
set { messageid=value; }
}
public string Title
{
get { return title; }
set { title=value; }
}
public string Body
{
get { return body; }
set { body=value; }
}
}然后再做个读xml的类,这个类要传个id的参数进去作为查找。类名:ExceptionMsgsManager.cs
public ExceptionMsgsManager()
{
//如果Cache为空的话才执行
if (HttpRuntime.Cache["ExceptionMsgs"] == null)
{
Hashtable MsgsTable=new Hashtable();//定义一个哈希表用来存储错误信息的集合
ExceptionMsg em;