0

我有一个 ASP.NET MVC4 应用程序,它使用实体框架作为其域模型,该域模型位于同一解决方案中自己的项目中。为了填充其数据库存储,Web 应用程序依赖于每天生成一次的 XML 文件。

我有一些问题。一个与代码放置和系统设计方面的最佳架构方法有关。

  1. 我的解析代码应该去哪里解析 XML 文档并将解析的数据存储到 EF 数据库中?我知道我几乎可以将它放在任何地方,但就最佳软件实践而言,它最好放在哪里?我目前的想法是在 Domain 项目中创建一个类(XMLParser)。
  2. 我怎样才能让我的 XML 解析器(我决定放置它的地方)每天在特定时间运行一次?

谢谢你。

4

1 回答 1

0
  1. 我认为域不是 XML 解析器的最佳位置。域,顾名思义,代表您的业务域的实体和术语。
    诸如 等之类的课程UserOrder进入那里。XML 解析器属于您的业务领域。
    那么,解析器应该去哪里呢?让我们想想它的工作是什么——它从一些数据存储中读取数据并将其转换为域类。
    在以这种方式表示问题之后,我认为解决方案是显而易见的——负责从数据存储(无论是数据库、文件还是 Web 服务)中检索数据的类属于数据访问层。

  2. 有几个解决方案。Quartz.NET是.net 平台的一种调度机制,具有很多高级调度能力。
    但是,如果您只想每天执行一次,Windows 的计划任务可能就足够了

于 2013-04-05T14:35:48.103 回答