服务器端的持久数据

时间:2012-07-03 15:30:04

标签: c# .net persistent

我正在使用C#代码隐藏页面创建一个Web服务器。 我想要的是一个用户在页面上查看和提交内容, 并且数据存储在服务器端,以便它是持久的, 并且其他用户可以查看此数据。

我是否限制将其保存到平面文件或数据库,或者是否有某种功能我可以在C#或.NET中用于此目的,比如一个持久的跨会话变量或什么? (对于每个不同的用户,正常的静态变量会有所不同吗?)

4 个答案:

答案 0 :(得分:2)

任何静态变量对所有用户都是通用的,但您应该使用Application。它就像Session,但对所有用户都是通用的。如果您需要持久化应用程序重置,请使用数据库。

答案 1 :(得分:1)

您可以测试这些缓存变量

Cache["Key"] = yourValue;

Application["Key"] = yourValue;

您有另一个与会话关联的缓存,但它不是全局的:

Session["Key"] = value; 

您的网页中有另一个缓存

ViewState["Key"] = value;

答案 2 :(得分:0)

如果您没有太多数据,请将其存储到内存中,然后使用XmlSerializerBinaryFormatter将其写入磁盘。

您需要将数据作为应用程序单例存储在内存中,可从您的页面集中的任何位置访问。

答案 3 :(得分:-1)

  

我是限制将其保存到flatfile或数据库,还是我可以使用某种功能   在C#或.NET中用于此目的?

没有其他功能。请参阅,平面文件(即您编写的文件或其他服务写入的文件)和数据库(可以是SQL数据库,文档数据库或任何其他形式)在逻辑上涵盖了持久化数据的所有可能性。从理论上讲,我认为理论上不会有任何其他方式存在于平面文件(即您管理的文件)或数据库(某些驱动程序或服务器进程管理的文件)中。

你问的是“我有一台收音机,它可以打开或关闭。它可以进入其他任何状态吗?” - 坏消息,不,无论是打开还是关闭。

.NET框架中的任何功能都可以归结为最后命名的两个功能。