カスタム エラー ページを表示するために、web.config ファイルの customErrors 属性を使用しています。
<customErrors mode="On" defaultRedirect="/errorpage.aspx">
<error statusCode="404" redirect="/404Page.aspx"/>
<error statusCode="403" redirect="/403page.aspx"/>
</customErrors>
派手すぎるものはありません。ここでやりたいことは、これらのページのいずれかが読み込まれたときに発生するエラーをログに記録することです。私は特に例外に興味があります.404を受け取ったときにユーザーがどのページにいたかはあまり気にしません.
例外をキャプチャして、db テーブルに記録したいと思います。このようなものは機能しますか:
//errorpage.aspx
public void Page_Load(object sender,EventArgs e)
{
Exception objErr = Server.GetLastError().GetBaseException();
var err = new {Url = Request.Url.ToString(),
Message = objErr.Message,
Trace = objErr.StackTrace.ToString()};
db.Errors.InsertOnSubmit(err);
db.SubmitChanges();
Server.ClearError();
}
キャプチャする価値がある、または一般的にエラーでキャプチャされる他の情報はありますか?