【发布时间】:2020-08-21 18:49:11
【问题描述】:
在here 发布的一个问题中询问有关在 ASP NET 核心应用程序中删除非活动用户的最佳实施方式。 Ian Kemp 为此建议了后台服务,我真的很喜欢这个。
现在我想知道如何在后台服务中实现本地化程序(我需要通知他们很快他们的帐户将被删除)?我可以存储有关用户在浏览我的应用程序时使用的文化的信息。我看到了一个 IStringLocalizer - WithCulture 的函数,它返回一个带有请求文化的新 IStringLocalizer。但它表明它已被弃用。有没有其他方法可以将 Localizer 实现到后台服务(同时在 DB 中使用存储的用户文化)?
【问题讨论】:
-
不确定您所说的“本地化程序”是什么意思,但如果您想返回本地化消息,您可以使用资源文件(.resx 扩展名)并维护每种文化的资源。您可以根据线程文化从正确的文件中提取,也可以使用后面的静态代码并传递 CultureInfo 实例。
-
我使用 resx 文件,在 ASP NET 核心中有一个 IStringLocalizer
类,它根据发送到实例的键来处理本地化字符串。定位器是实例。 Localizer["MyLocalizedString"] 根据 HttpRequest 文化从 resx 文件返回本地化字符串。但是在后台服务中,没有 HttpRequest 文化,所以我想知道如何向 IStringLocalizer(或任何建议的 Localizer)“说”我想要某种文化。另外,我看到 WithCulture 已被弃用,所以我正在寻找不同的选择。
标签: c# asp.net-core background-service asp.net-core-localization