Tag: error handling

Application_Errorexception处理,重定向无限循环和CSS加载问题

我在globals.asax文件的Application_Error事件中有error handling。 在这个事件中,我正在使用Response.Redirect(~errorview.aspx)方法,用于重定向到能够以用户友好的方式处理错误的站点。 除非Application_Start事件中出现exception,否则一切正常。 当那里发生错误时,我的应用程序陷入无限循环,反复点击Application_Error方法。 更重要的是,我正在重定向的页面永远不会被击中。 将Response.Redirect(~errorview.aspx)方法更改为Response.Redirect(~errorview.aspx, false)不会更改任何内容。 好消息是,当Response.Redirect(~errorview.aspx)已被Server.Transfer(~errorview.aspx)替换Server.Transfer(~errorview.aspx) ,errorview.aspx页面成功命中。 副作用现在不加载CSS,errorview.aspx页面看起来很难看。 更重要的是, 只有在Application_Start事件中发生exception时才会加载CSS。 从任何其他地方抛出的exception不会使CSS变得混乱。 我如何以正确的方式处理这个问题,以及为什么在特定情况下缺少CSS? 在我的情况下处理错误的适当方法是什么? UPDATE 对于CSS加载,我使用这个: 我正在转移的错误页面: http://localhost/APP/Pages/Module/Pages/ErrorView.aspx css文件夹路径: http://localhost/APP/Pages/Module/CSS/Layout/style.css 提前感谢任何线索。 问候。

如何在WPF中显示未处理exception的堆栈跟踪报告

我使用此EventHandler来捕获所有未处理的exception。 public App() : base() { this.Dispatcher.UnhandledException += OnDispatcherUnhandledException; } void OnDispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) { … } 我想显示该示例的堆栈跟踪(错误消息除外),如下图所示: 我怎样才能做到这一点?

如何从IErrorHandler生成HTTP 403等效的WCF消息?

我想编写一个IErrorHandler实现来处理AuthenticationException实例(一种专有类型),然后在ProvideFault的实现中提供一个传统的Http Response,其状态代码为403作为故障消息。 到目前为止,我有一个最好的猜测连接到服务,但WCF似乎完全忽略输出消息,即使正在调用error handling程序。 目前,代码如下所示: public class AuthWeb403ErrorHandler : IErrorHandler { #region IErrorHandler Members public bool HandleError(Exception error) { return error is AuthenticationException; } public void ProvideFault(Exception error, MessageVersion version, ref Message fault) { //first attempt – just a stab in the dark, really HttpResponseMessageProperty property = new HttpResponseMessageProperty(); property.SuppressEntityBody = true; property.StatusCode = System.Net.HttpStatusCode.Forbidden; […]

ac #dll将错误返回给调用应用程序的好方法是什么?

我正在编写一个dll,它是访问数据库的包装器。 我一般都是c#的新手,因为我的背景是使用perl进行Web开发LAMP,我不知道什么是将错误返回给调用应用程序的好方法,以防它们将错误的参数传递给我的函数或者什么不是。 我现在不知道除了可能做一些msgbox或抛出一些例外,但我不知道从哪里开始寻找。 任何帮助或资源都将是有用的:) 谢谢〜

错误:无法加载DLL’。dll’:找不到指定的模块。 (来自HRESULT的exception:0x8007007E) – 这是什么错误?

情况: 我正在尝试运行CharLS JPEG-LS压缩算法实现 该站点中有关于您可以下载C#VS 2010解决方案的源代码。 在解决方案中,有2个C#类库项目,1个非托管VC ++项目和1个C#控制台应用程序。 控制台App调用其中一个类库,“使用CharLS;”,并且该特定库引用了非托管VC ++项目。 控制台应用程序在调试模式下完美运行。 问题: 但是当我为“Release”编译控制台应用程序并运行.exe(可执行文件)时,在此过程中调用某个特定函数时,它会给我这个错误: 错误:无法加载DLL“CharLS.dll”:找不到指定的模块。 (HRESULTexception:0x8007007E) 我也尝试创建另一个项目并从那里引用类库,但是我得到了同样的错误。 我试过通过网络阅读其他解决方案,但他们没有帮助我。

是否可以从ASP.NET 4.0中的服务器错误页面中删除信息?

为了更好地隐藏用户的信息,我试图从标准的ASP.NET错误屏幕中删除版本信息部分。 自定义错误已启用,但是,在某些情况下,如果您设法在控件之外发生错误(可能是服务器问题?),那么您可以进入YSOD。 我已经尝试更改web.config以包含httpruntime设置,您可以将enableVersionHeader设置为false,但版本信息仍然存在。 此外,在Application_PreSendRequestHeaders方法中,我尝试从响应标头中删除“X-AspNet-Version”,但由于web.config设置,该标头不存在。 在这种情况下我甚至想要什么?或者这些信息是否总是存在?

通过C#的COM互操作提高正VB样式错误代码

我有一个在VB6中创建的基础库,它公开了一个在许多应用程序中使用的标准COM接口。 这也暴露了许多错误代码常量,与Err.Raise用于指示某些条件。 Public Enum IOErrors IOErrorBase = 45000 IOErrorConnectionFailed IOErrorAuthFailed IOErrorNotConnected IOErrorInvalidPortDirection IOErrorGettingValue IOErrorNoValueYet End Enum 经过10年,我们正在创建实现相同接口集的C#对象,并希望以调用应用程序识别它们的方式抛出exception。 我只能找到两个相关的类, Win32Exception和COMException 。 抛出Win32Exception((int)IOErrors.IOErrorConnectionFailed, “Connect failed”)正确传递消息,但忽略错误代码, Err.Number为&H80004005 。 抛出COMException(“Connect failed”, IOErrors.IOErrorConnectionFailed)导致调用应用程序中没有错误被COMException(“Connect failed”, IOErrors.IOErrorConnectionFailed) ,大概是因为错误代码不是HRESULT而且是肯定的,这意味着成功。 TL; DR如何从C#中抛出exception,以便COM互操作将其转换为上面的一个已识别(正)错误代码?

ASP.NET MVC 5中的自定义错误页面

我想在我的项目中添加自定义错误页面。 我发现这篇关于我的问题的post ,我尝试实现它。 所以: 我添加了404.cshtml , 404.html , 500.cshtml和500.html页面 在添加的cshtml文件中设置响应状态代码 注释将HandleErrorAttribute添加到全局filter 更新我的web.config文件 但现在当我尝试通过路径http://localhost:120/foo/bar ,我的应用程序在http://localhost:120我得到下一页: ‘/’应用程序中的服务器错误。 运行时错误 描述:处理您的请求时发生exception。 此外,执行第一个exception的自定义错误页面时发生另一个exception。 请求已终止。 我设置<customErrors mode="Off"以查看问题所在。 它是 – The resource cannot be found. 这是合乎逻辑的。 但是当我设置<customErrors mode="On" – 我再次得到运行时错误。 是什么导致它以及如何解决它? 我的配置文件: IIS 8.5版

如何在共享视图Error.cshtml中显示exception消息?

如果我从一个新的MVC 5项目开始,在web.config设置中,customErrors mode =“on”允许共享视图’Error.cshtml’在我强制(引发)exception时显示,但它只显示以下文本.. 。 错误。 处理您的请求时发生错误。 如何将信息传递到此视图以显示更多相关信息,例如发生了什么错误? 如果我使用Global.asax方法,我可以使用此视图吗? protected void Application_Error() ?

.Net MVC自定义错误页面在IIS8中不起作用

我有一个.NET MVC应用程序,我在使用IIS 8的服务器上运行自定义错误页面时遇到问题。在我的应用程序中,我正在捕捉并正确地抛出exception并在我的错误页面上显示一条消息,该页面是自定义的他们的违规行为。 当在调试中通过VS运行应用程序时以及在IIS(6.1)中的本地主机上配置站点时,这一切都在本地运行良好。 然后我将其部署到安装了IIS 8的服务器上。 最初我得到了令人讨厌的默认500错误页面: 默认500错误页面http://img202.imageshack.us/img202/1352/b8gr.png 在做了一点研究之后,我发现我可以将以下内容添加到web.config中,至少会把我的友好错误页面给我,虽然没有自定义文本: 我正在使用以下filter完成自定义错误消息: public class GlobalExceptionFilter : FilterAttribute, IExceptionFilter { public void OnException(ExceptionContext filterContext) { if (filterContext.HttpContext.IsCustomErrorEnabled && !filterContext.ExceptionHandled) { filterContext.ExceptionHandled = true; filterContext.HttpContext.Response.StatusCode = 500; string controllerName = (string)filterContext.RouteData.Values[“controller”]; string actionName = (string)filterContext.RouteData.Values[“action”]; HandleErrorInfo info = new HandleErrorInfo(filterContext.Exception, controllerName, actionName); IControllerFactory factory = ControllerBuilder.Current.GetControllerFactory(); ErrorController newController = […]