2009-07-28 82 views
0

在IIS7中,我试图为所有具有文件名的特定文字的内容设置一个非常远的未来过期标头。比如我想设置上的任何文件这头从IIS7正在请求IIS7:在特定文件上设置远期过期标头

*cached*.js 

我知道这是可以设置不远的将来到期头,但我想知道是否可以将其设置特定文件就像上面的例子。

我想在.NET应用程序上使用此方法我试图提供服务,但我希望使其效率更高,以便某些文件将被缓存很长时间,因为它几乎不会改变。 同时,我不希望被限制在某个文件夹中的所有文件或某些类型的所有文件中。

我打开这样做是通过修改我的Asp.Net应用程序来实现这一点,或通过IIS7设置。

所以,大家,你觉得,有没有办法做到这一点?

回答

1

一个HttpModule会让你这样做。这将让你看看传入的URL,然后添加正确的响应头。

编辑:追加例题

您可以使用this URL创建一个基本的HTTP模块。然后在事件的Application_BeginRequest,我觉得这个代码将接近你想要什么:

if (context.Request.FilePath.ToLower().IndexOf("cached") != -1) 
    context.Response.Cache.SetExpires(DateTime.Now.AddYears(1)); 
+0

你知不知道我能找到写的HttpModule我可以使用的示例中的任何地方开始? – 7wp 2009-07-29 16:47:33