【问题标题】:Regional parameters for n-tier data retrievaln 层数据检索的区域参数
【发布时间】:2013-06-10 13:37:13
【问题描述】:

我想知道我的 Web 应用程序层中用户区域设置的最佳位置,以格式化来自数据库结果查询的日期列输出。

我可以从 HttpContext.Request 获取区域设置并将其作为字符串传递给业务层,然后使用业务对象层中的 System.Globalisation 创建一个 DateTimeFormatInfo 对象。

即。 DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(cultureString).DateTimeFormat;

业务层从数据访问层获取数据,并使用 LINQ 查询选择器,可以使用上面的 dtfi 对象格式化日期列。

但是我想知道我是否真的应该将带有语言文化的字符串传递给业务层,而是应该使用从业务层返回的数据加载另一个匿名类型,并在控制器中添加日期格式。

这将避免 WPF 应用程序将执行线程的文化信息传递给业务层中的同一调用的情况。

【问题讨论】:

  • 是的,我不会将它添加到业务层,除了业务层返回一个匿名类型,我需要进入这个对象并找到行的集合,然后是日期和行然后格式化它们。

标签: asp.net-mvc-4 n-tier-architecture sharp-architecture web-architecture


【解决方案1】:

就个人而言,我更喜欢尽快处理所有文化方面的输入,并尽可能晚地处理输出,这意味着在 UI 和控制器代码中。业务层应该只关注常规的 DateTime 对象。

文化代码是杂乱无章的代码,将杂乱的代码保存在一个地方而不是让它渗透到代码的多层中会很有帮助。

【讨论】:

  • 是的,我同意,它只是所有控制器操作方法都简短明了,我将不得不加载一个新的匿名类型来对从 BizObject 返回的数据进行日期格式化。
猜你喜欢
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-15
相关资源
最近更新 更多