Ich habe Ausnahmecode in meinem Application_Error. Ich habe den Code von stackoverflow bekommen, es funktioniert.Ausnahmebehandlung in Application_Error, was ist sender.Context.Request?
protected void Application_Error(Object sender, EventArgs e)
{
string currentController = "";
string currentAction = "";
HttpContext httpContext = ((MvcApplication)sender).Context;
HttpRequestWrapper httpRequest = new HttpRequestWrapper(httpContext.Request);
RouteData currentRouteData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(httpContext));
if (!(currentRouteData == null))
{
if (currentRouteData.Values["controller"] != null && !String.IsNullOrEmpty(currentRouteData.Values["controller"].ToString()))
{
currentController = currentRouteData.Values["controller"].ToString();
}
if (currentRouteData.Values["action"] != null && !String.IsNullOrEmpty(currentRouteData.Values["action"].ToString()))
{
currentAction = currentRouteData.Values["action"].ToString();
}
}
var exception = Server.GetLastError();
if (exception == null)
return;
// Clear the error
Server.ClearError();
Models.Exception ex = new Models.Exception();
ex.ErrorMessage = exception.Message;
ex.ErrorUrl = String.Format("{0}/{1}", currentController, currentAction);
FreelancerDB.SaveExceptions(ex);
Response.Redirect("~/WebsiteAccess/SystemError");
}
Das Problem ist, dass ich nicht verstehe, was in diesen 2 linies passiert:
HttpContext httpContext = ((MvcApplication)sender).Context;
HttpRequestWrapper httpRequest = new HttpRequestWrapper(httpContext.Request);
Kann mir jemand erklären, was hier geschieht?
Haben Sie versucht, auf die MSN-Website zu gehen und zu überprüfen, was die Klassen tun? Eine einfache Suche auf Google nach dem httpRequestWrapper bringt https://msdn.microsoft.com/en-us/library/system.web.httprequestwrapper(v=vs.110).aspx, und eine Beschreibung dessen, was die Klasse tut, andere Suchlinks verweisen auf die Verwendung. – mahlatse
"Kapselt das intrinsische HTTP-Objekt, das es ASP.NET ermöglicht, die HTTP-Werte zu lesen, die während einer Webanforderung von einem Client gesendet werden." **** Es ergibt keinen Sinn in meinem Kopf. Was meinen sie damit? – LalA