ASP.Net缓存疑难解答 – CacheDuration属性似乎没有任何效果
发布时间:2020-12-16 07:02:50 所属栏目:asp.Net 来源:网络整理
导读:我试图让ASP.Net通过设置WebMethod属性的CacheDuration属性来缓存Web服务请求的响应: [WebMethod(CacheDuration = 60)][ScriptMethod(UseHttpGet = true)]public static Liststring GetNames(){ return InnerGetNames();} 以上是ASP.Net页面上的一个方法(我
我试图让ASP.Net通过设置WebMethod属性的CacheDuration属性来缓存Web服务请求的响应:
[WebMethod(CacheDuration = 60)] [ScriptMethod(UseHttpGet = true)] public static List<string> GetNames() { return InnerGetNames(); } 以上是ASP.Net页面上的一个方法(我也尝试将它移动到自己的类,但它似乎没有任何区别) – 我已将UseHttpGet设置为true,因为POST请求未缓存然而,尽管我付出了最大的努力,它似乎仍然没有任何区别(方法开始处的断点总是被击中). 这是我用来调用方法的代码: %.ajax({ url: "MyPage.aspx/GetNames",contentType: "application/json; charset=utf-8",success: function() { alert("success"); } 有什么我错过了可能阻止ASP.Net缓存此方法的东西吗? 如果不这样做,我是否可以使用任何诊断机制来更清楚地了解ASP.Net缓存的情况? 解决方法
根据此
MSDN How to article,WebMethod属性的CacheDuration属性适用于XML WebMethods.由于ScriptMethod属性指定返回JSON,因此我们不得不使用对象级缓存:
[WebMethod] [ScriptMethod(UseHttpGet = true)] public static List<string> GetNames() { var result = GetCache<List<string>>("GetNames"); if(result == null) { result = InnerGetNames(); SetCache("GetNames",result,60); } return result; } protected static void SetCache<T>(string key,T obj,double duration) { HttpContext.Current.Cache.Insert(key,obj,null,DateTime.Now.AddSeconds(duration),System.Web.Caching.Cache.NoSlidingExpiration); } protected static T GetCache<T>(string key) where T : class { return HttpContext.Current.Cache.Get(key) as T; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 从.NET开始 – ASP.NET,WPF,Silverlight或命令行C#?
- 服务器端ASP.Net Ajax异常处理
- asp.net-mvc – 使用LINQ进行动态查询将无法正常工作
- asp.net – 与?之间的区别?
- asp.net中让Repeater和GridView支持DataPager分页
- asp.net-mvc – 从MVC站点路由到Angular 2应用程序
- ASP.NET有一个复选框列表,在4×5网格中有我很好的复选框
- asp.net-core – 如何从MVC 6中的ASP.Net 5 Tag Helper访问
- asp.net-mvc – 将实体框架数据模型放在MVC应用程序中的位置
- Asp.Net MiddleWare与HttpModules
推荐文章
站长推荐
- asp.net – 用于Basic或Windows身份验证的无限重
- asp.net-mvc – IIS 7.5.无法禁用Url重写规则(我
- asp.net-mvc – Asp.net MVC 3 RC – Razor Vali
- asp.net Table 属性
- asp.net – 对象不是垃圾回收,但不包含gcroot
- .net – 在控制器中查看列表数据
- 使用ASP.NET MVC的jQuery表单验证
- asp.net-mvc-4 – 未终止字符串常量MVC4 Razor视
- asp.net-mvc – 如何直接将ASP.NET MVC1升级到MV
- asp.net-mvc – T4MVC:如何使用说Url.Action?
热点阅读