c# - 在 .net5 中本地化期间处理异常
问题描述
我想问你是否可以在本地化过程中处理异常?例如,我最近在我的 resx 文件中犯了错误,我的本地化程序导致在一种语言中用户出错(在翻译版本中,我写了类似“foo {2} bar”而不是“foo {0} bar”的内容。我会喜欢处理本地化程序返回“未翻译”字符串的异常。
是否可以为本地化程序编写某种特殊的异常处理程序?它应该实现任何接口还是什么?
非常感谢您的回答。
解决方案
我认为您可能需要使用OnResourceExecuted()
.
过滤器类型
每个过滤器类型在过滤器管道的不同阶段执行:
- 授权过滤器
首先运行并用于确定用户是否有权执行请求。如果请求未经授权,授权过滤器会使管道短路。
- 资源过滤器
授权后运行。
OnResourceExecuting
在过滤器管道的其余部分之前运行代码。例如,OnResourceExecuting
在模型绑定之前运行代码。
OnResourceExecuted
在管道的其余部分完成后运行代码。
- 动作过滤器
在调用操作方法之前和之后立即运行代码。
可以更改传递给动作的参数。可以更改从动作返回的结果。
Razor 页面不支持。
- 异常过滤器
将全局策略应用于在响应正文被写入之前发生的未处理异常。
- 结果过滤器
在执行动作结果之前和之后立即运行代码。它们仅在操作方法成功执行时运行。它们对于必须围绕视图或格式化程序执行的逻辑很有用。
下图显示了过滤器类型如何在过滤器管道中交互。
推荐阅读
- java - JobScheduler 在同一个服务类中做多个作业
- ckeditor - Angular CKEditor5 - 加载多个编辑器时性能不佳
- python - 如何在不均匀的色带上将 0 设置为白色?
- amazon-cloudformation - 在 AWS CDK 中使用 Fn.conditionIf 返回 Object 而不是 String
- python - 在类中定义函数
- database - 写入路径失败时的 Cassandra 读取一致性
- jpa - OmniPersistence JPA 库只能处理 23 个实体?
- mysql - 由于数据库名称中的语法错误,我无法在 mysql 上读取数据库,但数据库可以在 DBmaria 等其他平台上读取
- sendgrid - 尝试使用 SendGrid 将电子邮件发送到 gmail 电子邮件,但我收到“待处理”消息
- c# - 为什么我的多行文本框的绑定值中只有“\r”?