使用 EF Asp.NET MVC 中的可编辑系统参数?



在ASP.NET MVC应用程序中存储参数的最佳方法是什么? 我知道 Web.config 的工作方式,但它对我来说感觉不对,我宁愿将它们放在数据库的 2 列表中,以便所有内容都可以轻松编辑。

我在想:创建一个具有2个属性的模型类是个好主意:名称和值。这样就很容易在后端模块等中更改这些值。

这是一种正确的做事方式吗?还是它有很多缺点?

谢谢!

我开发过一个在配置和数据库中都有键/值的应用程序

配置中键的一个问题是,如果要进行更改,则必须更新 web.config,这会强制重新编译。如果您想在白天对生产进行更改,这很糟糕,因为用户可能会丢失一些数据。这会迫使您在夜间更新或执行某种计划的维护时段,并让用户知道

另一方面,数据库您可以随时进行更改,下次用户加载特定页面时,他们将看到更新的值,无需重新编译应用程序:)我能想到的唯一缺点是您需要进入生产数据库并进行更改,但是如果您对此感到满意,那么这种方式可能更容易且破坏性更小

在安全性方面,我认为两者都同样安全,因为一个在数据库服务器上,一个在WEB服务器上。 您的两个Windows服务器都应该等效保护并具有SSL,因此一个等等,在DB的情况下,SQL 2016带有大量的加密选项

这些只是我的2美分,这里显然可能有更多的因素在起作用

**编辑

我个人想不出任何特殊的原因来说明为什么不使用实体框架,EF 只是一种访问数据的方式......EF 主要是我在 ASP.NET MVC 应用程序中用于数据访问的内容,它是我最习惯的,所以我可能对此有些偏见。实体框架将以与任何其他表相同的方式使用您将用于此目的的表,字段可能是 configKey、configValue、dateCreated?

最新更新