我創建錯誤在Global.asax的MVC 3.0問題處理上2008服務器
protected void Application_Error(object sender, EventArgs e)
{
if (Context.Handler is IRequiresSessionState || Context.Handler is IReadOnlySessionState)
{
try
{
var httpContext = HttpContext.Current;
Exception exception = httpContext.Server.GetLastError();
if (exception is HttpRequestValidationException)
{
httpContext.Response.Clear();
var logLoggerService = new LogLoggerService();
logLoggerService.Error("ValidationException", exception);
WriteErrorResponse(exception.Message);
}
else
{
httpContext.Response.Clear();
var logLoggerService = new LogLoggerService();
logLoggerService.Error(exception);
WriteErrorResponse(exception.Message);
}
}
catch
{
var httpContext = HttpContext.Current;
httpContext.Response.Clear();
}
}
}
我發現,當在服務器上發生錯誤,此功能不叫。但是當我處於調試模式時,調用Application_Error
。
爲什麼這在服務器上不起作用?也許與IIS或服務器上的.NET 4.0的問題?
在服務器上,我有:
事件代碼:3005 事件消息:發生未處理的異常。 事件時間:15-8-2011 8點25分26秒 事件時間(UTC):15-8-2011 6點25分26秒 事件ID:ae3cad590adc43c3803410023cccb6b0 事件序列:4 事件發生:1個 事件詳細信息代碼:0
應用程序信息: 應用程序域:/ LM/W3SVC/11/ROOT-1-129578631124796958 信任級別:全 應用程序虛擬路徑:/ 應用程序路徑:C:\的Inetpub \ wwwroot的\ TestnaAplikacijaZaLog \ 機器名稱:SRJ1-SRV-01
處理信息和灰: 進程ID:6644 進程名:w3wp.exe 帳戶名:IIS APPPOOL \ TestnaAplikacijaZaLog
異常信息: 異常類型:HttpException 異常消息:響應是在此上下文中可用。 在System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext的上下文中,一個HttpApplication應用) 在System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr的appContext,HttpContext的上下文中,MethodInfo的[]處理程序) 在System.Web.HttpApplication.InitSpecial(HttpApplicationState狀態, MethodInfo的[]處理程序,IntPtr的appContext,HttpContext的上下文) 在System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr的appContext,HttpContext的上下文) 在System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr的appContext)
響應不可用在這方面。 在System.Web.HttpContext.get_Response() 在LogiranjeGresaka.MvcApplication.Application_Start()在C:\用戶\ esmira \文件\視覺工作室2010 \項目\ LogiranjeGresaka \ LogiranjeGresaka \ Global.asax.cs中:行46
索取信息: 請求URL:http://192.168.0.100:2227/Home/Index 請求路徑:/首頁/索引 用戶主機地址:192.168.0.103 用戶:
通過身份驗證:假 身份驗證類型:
線程帳戶名稱:IIS APPPOOL \ TestnaAplikacijaZaLog
線程信息: 線程ID:7 線程帳戶名稱:IIS APPPOOL \ TestnaAplikacijaZaLog 是假冒:假 堆棧跟蹤:在System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext的背景下,HttpApplication的應用程序) 在System.Web.HttpApplication 。RegisterEventSubscriptionsWithIIS(IntPtr的appContext,HttpContext的上下文中,MethodInfo的[]處理程序) 在System.Web.HttpApplication.InitSpecial(HttpApplicationState狀態,MethodInfo的[]處理程序,IntPtr的appContext,HttpContext的上下文) 在System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr的appContext, HttpContext的上下文) 在System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr的appContext)
自定義事件詳細:
是的,它的工作原理,謝謝 – Hukam