我必须永久存储上传的文件版本和以前的文件名和版本,而且,我需要更新和检索该信息,但我没有为此应用程序使用任何数据库。是否可以将数据保存在Web.Config文件中并能够更新?
答案 0 :(得分:5)
请勿将其保留在Web.Config中。更新web.config会导致应用程序池回收,而是根据需要将其存储在某个XML文件中。不确定为什么要为此目的避免使用数据库,但您甚至可以将其存储在基于文件的数据库中,如SQLite
答案 1 :(得分:0)
如果您愿意,可以将数据保存在web.config中,但我不会真的推荐它。 但如果它是一个小应用程序,并不真正关心用户的会话状态/应用程序池,那么我不明白为什么不。
<configuration>
<appSettings>
<add key="Version" value="2.0.0.0" />
</appSettings>
</configuration>
然后您可以按照以下方式检索数据
ConfigurationManager.AppSettings["Version"]
然而您可以创建自己的 xml 文件,然后在代码中检索它,如下所示
XML
<ApplicationConfig>
<Version>2.0.0.0</Version>
</ApplicationConfig>
然后在你的代码中
if (File.Exists(configFile))
{
var xml = XDocument.Load(configFile);
if (xml.Root != null)
{
var version = xml.Root.Elements("ApplicationConfig").Elements("Version").Value
}
}
答案 2 :(得分:0)
将数据存储在文件中是一种方法。有几点需要注意:
或者,您可以在HKEY_CURRENT_USER
下的registry中写下该值。这种方法不需要在文件系统上设置权限,这有时是不可能的。
如果您存储的信息对于您可能想要使用ASP.NET Profile的用户而言是唯一的。由于您不想使用数据库,因此可以使用custom provider将数据存储在XML文件中。