在ASP.NET中将一个简单的表存储在内存中?

Che*_*hev 6 .net c# memory asp.net

是否有一种简单的方法可以在ASP.NET中的服务器上的内存中存储一​​个简单的表,所有用户都可以共享?假设我有一个简单的聊天程序,我只想在内存中保存最后100条记录(这不是一个真正的应用程序,只是一个例子).假设我不希望SQL中的整个表专用于只有100条记录的聊天缓冲区.有什么方法可以创建内存数据表并在连接的用户之间共享它?

Hab*_*bib 10

使用缓存(MSDN)

每个应用程序域创建一个此类的实例,只要应用程序域保持活动状态,它就仍然有效.有关此类实例的信息可通过HttpContext对象的Cache属性或Page对象的Cache属性获得.

DataTable yourDataTable = new DataTable();
Cache["yourTable"] = yourDataTable;

//to access it
DataTable dt = Cache["yourTable"] as DataTable;
Run Code Online (Sandbox Code Playgroud)