【问题标题】:from where to read keys in Class library/webapi从哪里读取类库/webapi 中的键
【发布时间】:2014-12-24 19:30:39
【问题描述】:

我有一个使用缓存库的 webapi 项目。我正在使用缓存库中使用的 缓存持续时间 键。我的问题是我应该将缓存持续时间键放在哪里的标准做法是什么,来自在缓存库的 appconfig 中还是从 webapi 的 web.config 中选择缓存持续时间的值?

【问题讨论】:

    标签: c# asp.net app-config asp.net-web-api


    【解决方案1】:

    web.config 是 Web 应用程序的存放位置。 ASP.NET 应用程序中没有 app.config 之类的东西。您始终可以构建一些机制来从自定义位置加载配置数据,但开发人员首先会查找此类内容的位置是 web.config。

    【讨论】:

    • 缓存库是单独的类库。我想我可以在该缓存库中添加 app.config。现在我的问题是在 webapi 应用程序或缓存层内部添加缓存持续时间键的位置?
    • 我的意思是,即使您将app.config 添加到您的类库中,该文件也不会被您的 Web 应用程序使用。
    • 所以我应该考虑在 web.config 中添加键并在缓存库中访问它,例如 var CacheDuration = System.Configuration.ConfigurationManager.AppSettings["CacheDuration"];是这样吗?
    • 好吧,如果你不想强迫你的类库的消费者有一个配置文件,最好让你的类库简单地接受一个整数(或时间戳)参数这个持续时间。不要尝试从配置中读取它。如果我想使用你的缓存库但我不想使用配置文件怎么办,例如我在数据库中有我的配置。通过使用此System.Configuration.ConfigurationManager.AppSettings["CacheDuration"];,您将强制我将设置存储在何处。基本上我想说的是你应该反转控制。
    • 谢谢,这就是我要找的。这就是答案
    猜你喜欢
    • 2012-09-19
    • 2018-02-15
    • 2019-01-04
    • 2014-12-19
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    相关资源
    最近更新 更多