首页 > 解决方案 > 在 .net5 中本地化期间处理异常

问题描述

我想问你是否可以在本地化过程中处理异常?例如,我最近在我的 resx 文件中犯了错误,我的本地化程序导致在一种语言中用户出错(在翻译版本中,我写了类似“foo {2} bar”而不是“foo {0} bar”的内容。我会喜欢处理本地化程序返回“未翻译”字符串的异常。

是否可以为本地化程序编写某种特殊的异常处理程序?它应该实现任何接口还是什么?

非常感谢您的回答。

标签: c#asp.net-coreerror-handlingasp.net-core-localization

解决方案


我认为您可能需要使用OnResourceExecuted().

过滤器类型

每个过滤器类型在过滤器管道的不同阶段执行:

  • 授权过滤器

首先运行并用于确定用户是否有权执行请求。如果请求未经授权,授权过滤器会使管道短路。

  • 资源过滤器

授权后运行。
OnResourceExecuting在过滤器管道的其余部分之前运行代码。例如,OnResourceExecuting在模型绑定之前运行代码。
OnResourceExecuted在管道的其余部分完成后运行代码。

  • 动作过滤器

在调用操作方法之前和之后立即运行代码。
可以更改传递给动作的参数。可以更改从动作返回的结果。
Razor 页面不支持。

  • 异常过滤器

将全局策略应用于在响应正文被写入之前发生的未处理异常。

  • 结果过滤器

在执行动作结果之前和之后立即运行代码。它们仅在操作方法成功执行时运行。它们对于必须围绕视图或格式化程序执行的逻辑很有用。

下图显示了过滤器类型如何在过滤器管道中交互。

在此处输入图像描述


推荐阅读