【发布时间】:2018-06-13 02:34:57
【问题描述】:
我正在创建一个可供许多不同客户使用的类库。我希望它是可配置的,例如我希望能够在客户端中指定库的临时文件的路径。
我想知道这样做的“正确”方法是什么?有没有办法从类库中读取(继承)客户端的 appconfig?它应该通过依赖注入传递吗?最简单的解决方案是通过参数传递它,但是我的库必须将它传递或存储在静态变量中,但这不是一个非常干净的解决方案......
【问题讨论】:
-
正确的方式是
config文件。 -
DI 接口是我的投票
-
这完全取决于你和你的图书馆做什么。考虑任何记录器服务。大多数记录器都可以通过配置文件中的属性进行配置,或者我们可以设置参数。恕我直言,库的使用通常很容易基于它可以配置为基本任务。
-
在 dll 中使用配置文件时我会非常小心,因为它会使其更难使用 - 每个使用此 dll 的应用程序都必须了解所需的特定配置。您最好公开一个用于设置可配置部分的 API(无论是使用构造函数/方法参数,还是使用属性,甚至使用 MyDllConfig 结构),并让调用应用程序来决定在配置文件中放入什么以及要做什么编码。
-
@Zohar Peled 但是您会将 API 配置的那些设置存储在哪里?将它们序列化并保存到文件,存储为静态参数..?
标签: c# .net .net-core config app-config