c# - 从类库注入(inject)设置?

标签 c# class-library

我正在构建一个类库,我想知道确保某些设置在 app.config/webconfig 中的最佳方法是什么。

类库需要一个连接字符串和一个应用程序 key 。

我知道使用 nuget 可以将设置注入(inject)配置文件,但我没有使用 nuget 所以想知道是否有人有任何想法,或者我是否必须 try catch 并查看这些设置是否在配置文件中?

最佳答案

您可以在不同类型的解决方案之间进行选择:

  1. 您可以说,为您提供所需信息是用户的责任。所以你只需确保当用户创建你的对象的实例时,它会为你提供所需的信息。对于类库来说,这是一个不错的选择。您不想告诉谁将使用您的代码,以及如何管理他的设置。假设他有自己的方式来保存配置——为什么你必须绑定(bind)特定的配置类型 (System.Configuration)。

  2. 如果您坚持使用 app.config/web.config,您可以只为您的程序集使用一个,而不使用应用程序主配置。您可以使用 ConfigurationManager.OpenExeConfiguration。要知道程序集从哪里运行,请使用 Assembly.GetExecutingAssembly().Location。这样,您就可以打开自己的配置文件,只需在文档中确保用户必须更新设置即可。

  3. 你可以告诉他他必须在他的 app.config/web.config 中指定配置信息,如果你要查找的 key 不存在则抛出异常......

关于c# - 从类库注入(inject)设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12608109/

相关文章:

javascript - 在 Silverlight 类库中嵌入 JS 文件

java - 如何找到java类?

c# - 使用 C# 通过更改源代码有效地从网页中提取数据?

C# 类库异常处理

c# - C# 中的 MD5 哈希值与 Action Script 中的 MD5 哈希值不匹配

c# - 从其他游戏对象获取 AudioSource

c# - 创建引用 ActionFilters、HTTPContext、HTTPException 等的 .Net Standard 库

dll - 为什么这个类库 dll 没有从 app.config 获取信息

c# - 适合 C# 2010 的分析器好吗?

c# - Entity Framework VS 纯 Ado.Net