Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在web.config或数据库中存储配置设置_Asp.net_Web Config - Fatal编程技术网

Asp.net 在web.config或数据库中存储配置设置

Asp.net 在web.config或数据库中存储配置设置,asp.net,web-config,Asp.net,Web Config,存储网站模块的各种配置设置的最佳位置 正在创建映射web.config文件中设置的类(继承ConfigurationSection)? 或者创建一些与数据库一起工作的DAL和BLL类 要真正回答这个问题: 基本信息必须本地存储在web.config中(连接字符串等) 除此之外,其他信息可以存储在任何位置 将它放在数据库中意味着更容易编写管理页面来控制信息,而不是直接编辑web.config文件 事情多久会改变一次?如果设置是一次性的,那么拥有管理页面就太过分了,但是如果有持续的变化(添加新用户、

存储网站模块的各种配置设置的最佳位置

正在创建映射web.config文件中设置的类(继承ConfigurationSection)?

或者创建一些与数据库一起工作的DAL和BLL类

要真正回答这个问题:

基本信息必须本地存储在web.config中(连接字符串等)

除此之外,其他信息可以存储在任何位置

将它放在数据库中意味着更容易编写管理页面来控制信息,而不是直接编辑web.config文件

事情多久会改变一次?如果设置是一次性的,那么拥有管理页面就太过分了,但是如果有持续的变化(添加新用户、类别等),那么它们可能是一个好主意

还可以使用数据库中的数据对系统执行远程管理


因此,如果没有关于您的应用程序的更多信息,我无法提出建议。

在大多数情况下,每个页面上的每个模块都有单独的设置。因此,您必须将它们保存在数据库中。

将配置设置存储在Web.config中会产生这样的效果:如果您修改Web.config文件,应用程序将重新启动,新设置将立即生效。 但是,如果在多台计算机上运行应用程序,则需要更新每台计算机


如果将配置设置存储在数据库中,则需要手动重新启动web应用程序,或者使用一个功能(如管理页面/站点)允许应用程序重新读取设置。

构建配置部分。它非常简单,适合您的需要。

我使用了一个简单的启发式方法将每个配置变量分为四类:

  • 编译时配置(更改与代码更改一起完成)-如果可能,则在代码或程序集内部(作为嵌入式资源),否则在web.config中
  • 服务器实例特定配置(SQL连接字符串、本地文件路径)-在web.config中
  • 应用程序(数据库)配置(功能选择和其他很少更改的全局应用程序设置,如果有的话)-在数据库中,但没有UI
  • 应用程序配置-在数据库中,可通过管理员UI访问

  • 我说的不是用户的设置,而是管理员可以设置的站点配置,比如特定模块的数据库连接字符串、模块的缓存持续时间和etc@luppi-回答错误的问题。我现在更新了答案。