gpt4 book ai didi

asp.net - 使用内部 SecurityException 抛出异常仅在 ASP.NET MVC 中显示内部异常

转载 作者:行者123 更新时间:2023-12-04 15:25:49 26 4
gpt4 key购买 nike

如果我将以下行添加到 ASP.NET MVC 操作方法

throw new Exception("outer", new SecurityException("inner"));
死机蓝屏上实际显示的错误是内部 SecurityException,完全没有提及外部异常。

SecurityException

Description: The application attempted to perform an operation notallowed by the security policy. To grant this application therequired permission please contact your system administrator or changethe application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: inner

Source Error:

An unhandled exception was generated during the execution of thecurrent web request. Information regarding the origin and location ofthe exception can be identified using the exception stack trace below.

Stack Trace:

[SecurityException: inner]


这是预期的行为吗?
外部异常是什么类型似乎并不重要。即使是另一个 SecurityException,也永远不会显示该消息。默认的 SecurityException 错误消息非常模糊,我想捕获它并添加一些更具体的信息。如果我不将原始 SecurityException 作为 innerException 包含在内,这可以正常工作,但理想情况下我想这样做。

最佳答案

此行为源自 ASP.NET“核心”,而不是 ASP.NET MVC。不幸的是,错误格式化程序类是内部的,消费类型不提供任何扩展点,允许在不替换错误报告机制的情况下调整行为。解决方法是将默认的“死亡蓝屏”页面替换为自定义错误页面/ View ,在该页面/ View 中公开用户喜欢的信息。

这正是人们通常应该为生产做的事情。在您的情况下,这仅意味着您将有一个替代版本进行调试,而不是使用 ASP.NET 提供的默认值。

关于asp.net - 使用内部 SecurityException 抛出异常仅在 ASP.NET MVC 中显示内部异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9310320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com