处理ASP.Net MVC中的过期标题
发布时间:2020-12-16 06:36:52 所属栏目:asp.Net 来源:网络整理
导读:我需要有关如何在ASP.Net MVC中为我的CSS,图像和 JavaScript文件添加Expires Headers的建议或建议. 关键问题是软件不在一个位置.它分发给处理托管的客户,所以我宁愿有一个不需要在IIS中手动配置的解决方案,除非它是不可避免的! 我用Google搜索,大多数答案似
我需要有关如何在ASP.Net MVC中为我的CSS,图像和
JavaScript文件添加Expires Headers的建议或建议.
关键问题是软件不在一个位置.它分发给处理托管的客户,所以我宁愿有一个不需要在IIS中手动配置的解决方案,除非它是不可避免的! 我用Google搜索,大多数答案似乎都集中在通过控制器返回的内容上.虽然不能为JavaScript文件做到这一点.. 解决方法
您可以通过为javascript文件编写自定义处理程序来执行此类操作.在MVC项目的Web.Config文件中查找httpHandlers部分.添加如下行:
<add verb="GET" path="/YourScriptsFolder/*.js" type="Your.Project.Namespace.And.Custom.Handler,Your.Assembly.Name" validate="false" /> 这将强制通过您的自定义处理程序对该文件夹中的js文件的所有请求,如下所示: class CustomHandler : IHttpHandler { #region IHttpHandler Members public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { // Set any headers you like here. context.Response.Expires = 0; context.Response.Cache.SetExpires(DateTime.Parse("3:00:00PM")); context.Response.CacheControl="no-cache"; // Determine the script file being requested. string path = context.Request.ServerVariables["PATH_INFO"]; // Prevent the user from requesting other types of files through this handler. if(System.Text.RegularExpressions.RegEx.Match(path,@"/YourScriptsFolder/[^/.]*.js")) context.Response.Write(System.IO.File.ReadAllText(path)); } #endregion } 我没有测试过这段代码,所以你可能遇到一些问题,但这是基本的想法.整个网络上有很多关于ASP.Net自定义处理程序的例子.这是一个很好的例子: http://www.developer.com/net/asp/article.php/3565541/Use-Custom-HTTP-Handlers-in-Your-ASPNET-Applications.htm (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用oAuth和ASP.NET MVC WebApi进行身份验证
- asp.net-mvc – 为什么要使用Url.Content来引用资源?
- asp.net-mvc-3 – MVC3有条件地禁用Html.TextBoxFor()
- asp.net – 如何停止插入两次的配置转换插件?
- asp.net-membership – 如何在成员资格提供者上实现最佳自定
- asp.net – 是否可以隐藏asp:repeater中的列?
- asp.net – 是否有可能过滤SignalR中的接收器?
- ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)
- asp.net-mvc-4 – 使用剃刀循环模型
- ASP.NET Web API返回可查询的DTO?
推荐文章
站长推荐
热点阅读