ASP.NET MVC应用程序中的每日XML解析

时间:2013-04-05 14:16:10

标签: design-patterns asp.net-mvc-4 architecture entity-framework-4 xml-parsing

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

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

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

1 个答案:

答案 0 :(得分:0)

  1. 我认为域名不是XML解析器的最佳位置。顾名思义,域名代表商业域的实体和条款 UserOrder等类将会出现在那里。 XML解析器是您业务域的一部分 那个解析器应该去哪里呢?让我们思考一下它的工作是什么 - 它从一些数据存储中读取数据并将其转换为域类。
    在以这种方式表示问题之后,我认为解决方案是显而易见的 - 负责从数据存储(数据库,文件或Web服务)检索数据的类属于数据访问层。

  2. 有几种解决方案。 Quartz.NET是.net平台的调度机制,具有许多高级调度功能 但是,如果您只想每天执行一次,windows' scheduled tasks就足够了