Web API - 在业务层中仅加载一次资源

时间:2017-06-02 02:58:30

标签: c# .net xml design-patterns asp.net-web-api

在我的n-Layered应用程序Web API中调用Business Layer(BL),这是一个类库项目。在BL中,我有一个包含多个XML templates的文件夹。对于每个进入Web API的请求,都会创建一个BL类的实例,该实例又会读取一个或多个XML模板并完成一些任务。
我想知道 - 有没有什么方法可以只加载/解析XML模板一次,以便后续请求从内存中读取模板?
我不希望将模板移动到API层。

1 个答案:

答案 0 :(得分:0)

有几种方法可以实现这一目标:

  1. 将XML数据保存在您的网络服务器的缓存中,并在以后需要时使用。
  2. 您还可以在Application Start事件中创建一个Static类并在其中加载XML内容,并可以使用它。
  3. 最后但有点复杂,您可以使用任何DI框架Unity / AutoFaq,并可以创建XML数据的Singleton对象。 (非常接近第2点)