1

我有一个 C# MVC 项目,并允许用户选择输出数据的方式(即以 kmh/mph 为单位的速度,以 CST、EST 为单位的时间等,以 KM、英里、米、赫克特为单位的距离等.)。不是每次都跑回数据库来检索设置,而是在登录时将其填充到加密的 cookie 用户数据部分。我还使用服务存储库模式,其中我的服务在 BLL 中实现,在 BOL 中定义模型。我还将数据作为 JsonResults 返回(使用 NewtonSoft 库)。在不将此单元首选项信息传递到业务逻辑层的情况下,将数据转换为用户指定类型的最佳策略(在哪里以及如何)是什么?我最初在考虑使用 customAttributes 并编写自己的 CustomJsonResult actionResult,这将使用反射并生成 Json 字符串,但这需要我自己的对象遍历算法。我主要关心的是我想让我的应用程序无状态。

4

1 回答 1

0

我认为这种转换可以在映射层中执行,它将您的业务对象转换为传递给视图的视图模型。因此,控制器将查询业务层以检索模型,然后将查询存储在 cookie 中的用户首选项,并将这两个实体传递给映射层,映射层将根据用户区域设置执行必要的转换和格式化,并返回一个准备好将视图模型传输到强类型视图,该视图将简单地输出信息。

另一种可能性是在您的视图中使用自定义 HTML 帮助程序,该帮助程序将采用模型值并根据存储在 cookie 输出中的用户偏好执行转换并输出格式化字符串。

于 2011-01-24T23:45:12.117 回答