2009-07-28 83 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