首页 > 解决方案 > 在控制台应用程序中跨项目访问的值

问题描述

我有一个控制台应用程序解决方案,其中添加了多个项目,如类库等。我已将我的用户名/密码存储在 Azure keyvault 中,并且该解决方案下的几乎所有项目都在使用它。每次我点击保险库获取用户名/密码时。对于一次执行,我只想点击一次 keyvault,并在单次执行的解决方案下在整个项目中共享用户名/密码。

标签: c#.netconsole-applicationazure-keyvault

解决方案


获取凭据不应该是需要凭据的每个方法的一部分。您在这里混合关注点,这是一种不好的做法。想象一下,在某个时候您不想再使用 Azure Keyvauld,那么您必须使用太多的类和方法来更新您的代码。

如果您正在进行单元测试,则会出现另一个问题。您不需要调用 azure 来测试您的类库项目中的方法。

我这样做的方法是在一个位置检索凭据(例如,在控制台应用程序启动时),并在需要时将凭据作为参数传递给您的方法或类构造函数。


推荐阅读