2010-01-14 138 views
0

我一直在阅读其他人关于在web.config中存储设置的问题。大多数人都同意这是存储设置的好方法。使用web.config存储和映射信息

我对此有另一个疑问。

在我的应用程序中,我需要在web.config中映射一些ID。例如: 表=用户类型] 1 - 用户 /2 - 管理

它是存储在web.config这些设定,让我知道什么是在我的应用ID是一个好主意?你有更好的解决方案吗?

谢谢你们, 摹

回答

1

如果值不会经常改变,最好创建一个枚举来存储值。枚举样品可以是:

enum UserType 
{ 
    User = 1, 
    Admin = 2 
} 

更多的选择,也看看到[Flags]属性:Enums, Flags, and C# — Oh my! (bad pun…)

记住每次你编辑你的web.config文件时请,您的IIS应用程序池得到回收。

+0

我明白了..所以我应该创建一个类来存储这些枚举吧?然后我创建一个像这样的枚举: enum UserType(User,1; Admin,2;)? – 2010-01-14 16:16:48

+0

是的,你只需要创建一个枚举,而不是类 – 2010-01-14 16:38:43

+0

我将创建一个类来存储我需要的所有枚举!最好保持组织。 :) – 2010-01-14 16:51:58

0

我通常使用web.config来存储连接字符串或键/值对之类的东西,这些对很少[或永远不会]改变。

你所描述的对于数据库中的枚举或者查找表来说是理想的。

0

在我的Web应用程序中,我有一些“配置”设置超出了Web.Config文件的结构,并且不希望网站在更改之后重新启动。

我最终创建了许多xml配置文件,其中xml数据映射到缓存到集合中的对象。这使我们可以即时更改配置,而不会重新启动网站。当配置目录中的某些内容被修改时,我们有一个filewatcher触发从Xml文件重新加载缓存对象。

你也可以很明显地使用数据库,但在我们的例子中,这是配置数据,由开发维护并与构建一起部署。