本文整理汇总了C#中System.Web.HttpServerUtility.GetLastError方法的典型用法代码示例。如果您正苦于以下问题:C# HttpServerUtility.GetLastError方法的具体用法?C# HttpServerUtility.GetLastError怎么用?C# HttpServerUtility.GetLastError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Web.HttpServerUtility
的用法示例。
在下文中一共展示了HttpServerUtility.GetLastError方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplicationError
public ApplicationError(HttpServerUtility server, HttpResponse response, HttpContext context)
{
HttpServerUtility = server;
HttpResponse = response;
HttpContext = context;
LastException = HttpServerUtility.GetLastError() as HttpException;
StatusCode = LastException == null ? 500 : LastException.GetHttpCode();
}
示例2: ReturnThroughErrorController
public static void ReturnThroughErrorController(HttpServerUtility server, HttpResponse response, HttpContext context)
{
var exception = server.GetLastError();
response.StatusCode = GetStatusCode(exception);
if (response.StatusCode == 500) return;
server.ClearError();
response.Clear();
var routeData = new RouteData();
routeData.Values["controller"] = "Errors";
routeData.Values["action"] = GetActionForStatusCode(response.StatusCode);
routeData.Values["exception"] = exception;
IController errorsController = new ErrorsController();
var requestContext = new RequestContext(new HttpContextWrapper(context), routeData);
errorsController.Execute(requestContext);
}
示例3: HandleError
public void HandleError(HttpServerUtility server, HttpRequest request, object sender, EventArgs eventArgs)
{
Exception exception = server.GetLastError();
var httpException = exception as System.Web.HttpException;
if (httpException != null)
{
switch (httpException.GetHttpCode())
{
case 404:
// ignore not found, those can be logged by normal http logging
return;
}
}
var errorText = FormatErrorMessage(request);
_logger.Error(errorText, exception);
}
示例4: ShowCustomErrorPage
public static void ShowCustomErrorPage(HttpServerUtility server, HttpContext context, HttpResponse response)
{
var exception = server.GetLastError();
Logger.SetLog(exception);
var routeData = new RouteData();
routeData.Values.Add("controller", "Error");
routeData.Values.Add("fromAppErrorEvent", true);
var httpException = exception as HttpException ?? new HttpException(500, "Internal Server Error", exception);
int httpCode = httpException.GetHttpCode();
switch (httpCode)
{
case 403:
routeData.Values.Add("action", "AccessDenied");
break;
case 404:
routeData.Values.Add("action", "NotFound");
break;
case 500:
routeData.Values.Add("action", "ServerError");
break;
default:
routeData.Values.Add("action", "OtherHttpStatusCode");
routeData.Values.Add("httpStatusCode", httpCode);
break;
}
server.ClearError();
response.Clear();
IController controller = new ErrorController();
controller.Execute(new RequestContext(new HttpContextWrapper(context), routeData));
}
示例5: ReportWebException
public static void ReportWebException(HttpServerUtility Server, AuditEventType eventType, string msg=null)
{
bool ignoreException = false;
string body = "An error has occurred while a user was browsing OCM:<br><br>";
if (msg!=null)
{
body = msg;
}
object exceptionObject = null;
if (Server.GetLastError() != null)
{
Exception exp = Server.GetLastError();
exceptionObject = exp;
if (exp.InnerException != null)
{
exceptionObject = exp.InnerException;
}
body += ((Exception)exceptionObject).ToString();
if (HttpContext.Current != null)
{
HttpContext con = HttpContext.Current;
if (con.Request.Url != null)
{
body += "<br><br>Request Url:" + con.Request.Url.ToString();
//special case to avoid reporting /trackback url exceptions
if (con.Request.Url.ToString().EndsWith("/trackback/")) ignoreException = true;
}
if (con.Request.UserAgent != null)
{
body += "<br>User Agent: " + con.Request.UserAgent;
}
}
body += "<br><br>" + DateTime.UtcNow.ToString();
}
if (exceptionObject is System.Web.HttpRequestValidationException || exceptionObject is System.Web.UI.ViewStateException) ignoreException = true;
if (!ignoreException)
{
if (ConfigurationManager.AppSettings["EnableErrorNotifications"] == "true")
{
NotificationManager notification = new NotificationManager();
var msgParams = new Hashtable(){
{"Description", "System Error"},
{"Name", "OCM Website"},
{"Email", "[email protected]"},
{"Comment", body}
};
notification.PrepareNotification(NotificationType.ContactUsMessage, msgParams);
notification.SendNotification(NotificationType.ContactUsMessage);
}
AuditLogManager.Log(null, eventType, body, null);
}
}