﻿# 介紹好用元件：Cache Manager plug-in for ASP.NET

網站發展到一定程度一定會需要實做**快取**(Cache)機制，但是當 Cache 用多了話，還真的不容易管理，之前寫過一篇關於【[如何將目前的 Cache 物件全部清空](/post/2008/04/11/How-to-clear-all-cache-items-in-ASPNET)】，當我想瀏覽目前 Cache 的內容時，就會想到利用 [Cache Manager plug-in for ASP.NET](https://web.archive.org/web/20110928040942/http://aspalliance.com:80/CacheManager/) 幫我瀏覽或管理所有快取項目。

[Cache Manager plug-in for ASP.NET](https://web.archive.org/web/20110928040942/http://aspalliance.com:80/CacheManager/) 是利用 HttpHandler 實做，並封裝成一個 DLL 組件，部署到 bin 目錄下並在 web.config 中註冊就可以開始使用，使用時的畫面如下：

[![Cache Manager plug-in for ASP.NET : Screenshot](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/467166142b243407a616-image_thumb_1.png "Cache Manager plug-in for ASP.NET : Screenshot")](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/a9d96fa2105317b685e4-image_4.png)

**安裝只有 2 個步驟，如下：**

1\. 將解壓縮後的 AspAlliance.CacheManager.dll 放到 bin\\ 目錄下

2\. 加一條 HttpHandlers 設定到 web.config 中

-   IIS6 下，需在 <system.web> 下的 <httpHandlers> 下加入以下這行：

```
<add verb="*" path="CacheManager.axd" 
     type="AspAlliance.CacheManager.CacheManagerPageFactory,AspAlliance.CacheManager" />
```

-   IIS7 下，需在 <system.webServer> 下的 <handlers> 下加入以下這行：

```
<add name="AspAllianceCacheManager" verb="*" path="CacheManager.axd"
     type="AspAlliance.CacheManager.CacheManagerPageFactory,AspAlliance.CacheManager" />
```

第 2 步驟的 path 可以讓你自己定義，只要副檔名名為 \*.axd 即可。不改的話，你就可以直接用瀏覽器連接 Cache Manager 管理介面，如下範例：

```
http://localhost/CacheManager.axd
```

基於安全理由，建議取一個比較難「猜」的路徑名稱，避免機密資訊外洩，不過我個人建議這樣的元件僅用在「開發環境」就好，網站上線時記得要拿掉！

除此之外，你也可以在 web.config 設定 <location> 限制該 HttpHandler 的存取，例如：

```
<location path="CacheManager.axd">
  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
   </system.web>
 </location>
```

剩下的就讓各位安裝起來自己玩玩啦。

**相關連結**

-   [Cache Manager plug-in for ASP.NET](https://web.archive.org/web/20110928040942/http://aspalliance.com:80/CacheManager/)
