问一个关于数据缓存的问题 http://webservices.ctocio.com.cn/wsnettec/90/8122590.shtml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 .NET中如何有效的使用Cache 使用Cache可以全部保存。而不仅限于某个页面。人家这么做一般都是用Cache(至少我喜欢这么做)。 System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类。 此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集。它还为这些对象提供了失效功能,并为您提供了添加和移除这些对象的方法。您还可以添加依赖于其他文件或缓存项的对象,并在从 Cache 对象中移除对象时执行回调以通知应用程序。 下面的示例是一个页面,该页面为用户显示缓存中某项的赋值,当该项从缓存中移除时将通知用户。它创建 RemovedCallback 方法,该方法具有 CacheItemRemovedCallback 委托的签名,以在缓存项被移除时通知用户并使用 CacheItemRemovedReason 枚举告诉用户该项被移除的原因。此外,它使用 Cache.Item 属性将对象添加到缓存中并检索这些对象的值。在 AddItemToCache 方法中,它使用 Cache.Add 方法向缓存中添加项。若要使用 CacheItemRemovedCallback 委托,您必须使用此方法或 Cache.Insert 方法向缓存中添加项,以便该项被移除时 ASP.NET 能自动调用正确的方法。自定义的 RemoveItemFromCache 方法使用 Cache.Remove 方法显式地从缓存中删除该项,这导致调用 RemovedCallback 方法。<html> <Script runat=server language="C#"> static bool itemRemoved = false; static CacheItemRemovedReason reason; CacheItemRemovedCallback onRemove = null; public void RemovedCallback(String k, Object v, CacheItemRemovedReason r){ itemRemoved = true; reason = r; } public void AddItemToCache(Object sender, EventArgs e) { itemRemoved = false; onRemove = new CacheItemRemovedCallback(this.RemovedCallback); if (Cache["Key1"] == null) Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove); } public void RemoveItemFromCache(Object sender, EventArgs e) { if(Cache["Key1"] != null) Cache.Remove("Key1"); } </Script> <body> <Form runat="server"> <input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/> <input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/> </Form> <% if (itemRemoved) { Response.Write("RemovedCallback event raised."); Response.Write("<BR>"); Response.Write("Reason: <B>" + reason.ToString() + "</B>"); } else { Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>"); } %> </body></html> DataGrid行点取值 请教个问题 来者有分 急急急,帮忙 大家帮忙看看,为什么我这段脚本能在.htm中运行,但在.aspx中却不能(在线急等!) 可不可以编程的方法取得服务器IIS6上的MIME类型表? 大型门户网站,如何提升其速度。有经验的兄弟讲讲。分享下你的经验。 xml问题!!!!~急 [求助]关于VSS6.0sp6的安装 连接excel出错 问题:如何在ListBox里面显示多列 asp.net遇到一个很棘手的问题! 如何实现这么跳转到一个新的页面?
而不仅限于某个页面。人家这么做一般都是用Cache(至少我喜欢这么做)。
<html>
<Script runat=server language="C#">
static bool itemRemoved = false;
static CacheItemRemovedReason reason;
CacheItemRemovedCallback onRemove = null; public void RemovedCallback(String k, Object v, CacheItemRemovedReason r){
itemRemoved = true;
reason = r;
} public void AddItemToCache(Object sender, EventArgs e) {
itemRemoved = false; onRemove = new CacheItemRemovedCallback(this.RemovedCallback); if (Cache["Key1"] == null)
Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);
} public void RemoveItemFromCache(Object sender, EventArgs e) {
if(Cache["Key1"] != null)
Cache.Remove("Key1");
}
</Script>
<body>
<Form runat="server">
<input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
<input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
</Form>
<% if (itemRemoved) {
Response.Write("RemovedCallback event raised.");
Response.Write("<BR>");
Response.Write("Reason: <B>" + reason.ToString() + "</B>");
}
else {
Response.Write("Value of cache key: <B>" + Server.HtmlEncode(Cache["Key1"] as string) + "</B>");
}
%>
</body>
</html>