c# - tutorial - pagina por defecto asp net
Global.asax-Application_Error-¿Cómo puedo obtener datos de la página? (1)
Tengo este codigo
using System.Configuration;
void Application_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError().GetBaseException();
string ErrorMessage = ex.Message;
string StackTrace = ex.StackTrace;
string ExceptionType = ex.GetType().FullName;
string UserId = Getloggedinuser();
string WebErrorSendEmail =
ConfigurationManager.AppSettings["WebErrorSendEmail"];
// save the exception in DB
LogStuffInDbAndSendEmailFromDb();
}
Este es (la mayoría de) mi código. Sin embargo, en un pequeño porcentaje de casos, no obtengo suficiente información. No sé de qué página se originó la excepción.
¿Cómo puedo obtener cualquier tipo de información relacionada con la página de la cual se originó la excepción?
A continuación se muestra un ejemplo del mensaje más corto:
Longitud no válida para una matriz de caracteres Base-64.
at System.Convert.FromBase64String (String s) en System.Web.UI.ObjectStateFormatter.Deserialize (String inputString) en System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialialestationizeest .UI.Util.DeserializeWithAssert (formateador IStateFormatter, String serializedState) en System.Web.UI.HiddenFieldPageStatePersister.Load ()
Puede obtener la URL y la página de la solicitud actual de esta manera:
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
if (HttpContext.Current != null)
{
var url = HttpContext.Current.Request.Url;
var page = HttpContext.Current.Handler as System.Web.UI.Page;
}
}