1
我有一個RetrieveBlob.aspx,它獲取一些查詢字符串變量並返回一個資產。 Eeach url對應一個獨特的資產。使用IIS7輸出緩存 - 如何爲動態aspx頁面?
在RetrieveBlob.aspx中設置了緩存配置文件。在Web.Config配置文件看起來像(在system.web標記下):
<caching>
<outputCache enableOutputCache="true" />
<outputCacheSettings>
<outputCacheProfiles>
<add duration="14800" enabled="true" varyByParam="*"
name="AssetCacheProfile" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
好吧,這工作正常。當我在RetrieveBlob.aspx後面的代碼中放置一個斷點時,它會在第一次觸發,而其他時間不觸發。
現在,我扔掉了緩存配置文件,而是我System.WebServer下有這個在我的web.config:
<caching>
<profiles>
<add extension=".swf" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:08:00" />
<add extension=".flv" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:08:00" />
<add extension=".gif" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:08:00" />
<add extension=".png" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:08:00" />
<add extension=".mp3" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:08:00" />
<add extension=".jpeg" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:08:00" />
<add extension=".jpg" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:08:00" />
</profiles>
</caching>
現在緩存不工作了。我究竟做錯了什麼?是否可以在System.WebServer的緩存標記下配置動態aspx頁面的緩存配置文件?
我已經嘗試添加這樣的事情:
<add extension="RetrieveBlob.aspx" policy="CacheForTimePeriod"
kernelCachePolicy="CacheForTimePeriod" duration="00:00:30"
varyByQueryString="assetId, assetFileId" />
但它不工作。
一個URL的一個例子是:
HTTP:// {服務器}/{應用} /trunk/RetrieveBlob.aspx?assetId=31809 & assetFileId = 11829