我有一些全局设置 例如下面的一些是存储应用程序全局设置的位置?
ShortLeaveAllowedInOneDay = 2
LeaveAllowedInMonth = 3
我有以下选项,这些全局设置
1店内存放在数据库中的表
2存放在Webconfig文件
3-Store in class filed
4-In XML文件
请您建议我哪一个更好的办法,为什么
我使用Asp.net MVC3 与SQLSERVER 2005
我有一些全局设置 例如下面的一些是存储应用程序全局设置的位置?
ShortLeaveAllowedInOneDay = 2
LeaveAllowedInMonth = 3
我有以下选项,这些全局设置
1店内存放在数据库中的表
2存放在Webconfig文件
3-Store in class filed
4-In XML文件
请您建议我哪一个更好的办法,为什么
我使用Asp.net MVC3 与SQLSERVER 2005
它取决于您的要求,这些选项中的每一个都有它自己的优点和缺点。它试图列出几个:
1。在数据库表中存储
优点:
缺点:
2.存储在web.config文件
优点:
缺点:
web.config
可能会导致应用程序池重新启动。
3类商店为const场
优点:
缺点:
4.在XML文件
优点:
log4net
就是这样一个例子)缺点:
在web.config文件中存储的全局变量是一种很常见的任务。 当您的web.config文件存储值非常有用时,数据库可能会过度杀伤,当您不需要单独的外部文件。
为每个页面生命周期多次读取.xml文件对于性能而言将会非常糟糕。
我肯定会去web.config。
如果你需要他们通过你的软件的使用者,我不会做选项3.如果他们是你定义为一个程序员,不要指望他们改变当应用程序投入生产你可以设置进行配置去做。
我要说的是选择4和2基本上是相同的,在概念上,这是个人喜好从中选择。我个人喜欢定义一个custom configuration section,然后在它自己的.config文件中定义该部分(this显示了如何执行此操作),以便您没有用户必须导航的真正庞大的web.config。
我会选择选项1,如果我有这样一个场景,我有多个组件,所有需要访问相同的配置。如果您构建的所有应用程序都是单个Web应用程序,那么我不需要这样做,但是,例如,如果您有一个Web应用程序和一些其他客户端应用程序,并且都需要访问数据库,那么在那里存储配置一个不错的选择。
添加在网络配置文件的AppSettings的会话,可以从代码直接访问,如:
System.Configuration.ConfigurationManager.AppSettings["ShortLeaveAllowedInOneDay "];
编辑: 和Confir文件看起来像:
<appSettings>
<add key="ShortLeaveAllowedInOneDay " value="2" />
</appSettings>
无方法本质上比其他方法更好。
最好的办法完全取决于你的需求是什么的东西,如安全性,可扩展性,灵活性,只读与可写的,配置的复杂性,等等。
您可以将变量存储在Web.config文件中。
我会更实际。两个基本案例。
您将初始变量存储在web.config中,并将所有其他数据存储在数据库中。如果你没有数据库,那么可用的就是XML文件。
伟大的完整答案! – jorgebg 2012-09-27 10:12:35