asp.net – 全局ASAX中的错误:文件不存在
我试图了解发送给我的全局ASAX OnError处理程序发生了什么错误.
using System; using System.Web; namespace GLSS.Components.HttpModules { public class ExceptionModule : System.Web.IHttpModule { private void OnError(object sender,EventArgs e) { HttpContext context = HttpContext.Current; //get the last error Exception ex = context.Server.GetLastError(); if(ex.InnerException.GetType().ToString() == "CSLA.DataPortalException") ex = ex.InnerException; 这是我的Exception转换为String HttpContext.Current.Server.GetLastError().Message "File does not exist." HttpContext.Current.Server.GetLastError().StackTrace " at System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo,String physicalPath,HttpResponse response) at System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context) at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context,AsyncCallback callback,Object state) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)" 如何确定导致此错误的代码行?我试图将我的Debug选项设置为在发生错误时中断,但事实并非如此,我仍然最终在ONERROR全局处理程序中. 有一件事是我看到代码假定会有一个内部异常,这似乎是NULL并导致处理程序中的第二个错误. 我假设错误发生在编译代码的某处.我检查了Web.Config,其中提到的唯一路径是一个日志路径,这似乎有效,并且日志记录似乎正在工作. 更新 How to solve exception “File does not exist”? 当我在立即窗口中检查时: ? HttpContext.Current.Request.Url.ToString() "http://localhost:2322/favicon.ico" 然而,让我感到困惑的是,我使用“在文件中查找”搜索我的整个解决方案,寻找favicon.ico,我看不到任何参考. 为什么我看到没有找到图标文件时会出现错误?我猜有些装配正在使用它?但是为什么它在Web根目录中寻找呢? 解决方法
大多数现代浏览器都盲目地提出了对favicon.ico的请求,如果没有favicon(这是正确的行为),他们期望404(找不到文件).您可以在下面找到关于
Link type “icon”的HTML5工作草案的引用
:
您看到异常的原因是配置为使用托管/集成管道模式的Web开发服务器或IIS通过Global.asax放置所有请求(包括错误). 您可以尝试通过创建以下关于favicon的虚拟链接来阻止浏览器发出请求: <html> <head> <link rel="shortcut icon" href="#" /> ... </head> ... </html> 您也可以尝试以下方法之一: >在RegisterRoutes方法的开头添加以下行: routes.IgnoreRoute( “的favicon.ico”); 甚至更多的扩展版本: routes.IgnoreRoute(“{* favicon}”,new {favicon = @“(.* /)?favicon.ico(/.*)?”});>为自己创建一个空文件>通过检查404的HttpException.GetHttpCode()和/((System.Web.HttpApplication)Sender)./texti.ico的.Context.Request.Url来筛选出错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- [译]在Asp.Net Core 中使用外部登陆(google、微博...)
- 如何在ASP.NET GridView中找到控件的客户端ID?
- asp.net – Facebook和G的自定义LINK共享URL
- asp.net-mvc – 为什么在Asp.Net Identity 2.0 PhoneNumber
- asp.net-mvc – ASP.NET MVC:ValidationAttribute和本地化
- asp.net-mvc-4 – 安装Windows 10后尚未注册ASP.NET 4.5
- asp.net-mvc – IIS6中的ASP.NET MVC压缩选项
- asp.net-mvc – 用于枚举下拉列表的自定义MVC模板
- asp.net – 我的C#Web应用程序项目中缺少IdentityConfig.cs
- asp.net – 模型项的类型为CookMeIndexViewModel,但需要一个
- asp.net – Webmatrix 2:存储静态值
- asp.net-mvc – 如何使用ASP.NET 5 MVC保护Web A
- asp.net-mvc – 如何在jqgrid中创建两个页脚行
- 传统asp.net小心 async/await坑
- asp.net中WebService 捕获全局异常
- asp.net – 如何在ClickOnce的清单文件中更改部署
- 使用asp.net 4.5 OAuth注册google与clientid和se
- asp.net-core – 如何在ASP.NET Core中设置cooki
- asp.net-mvc – Telerik mvc grid,columns.bound
- 处理vbscript中的时区