The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何在 IIS 中將靜態檔案設定用戶端快取 (Client-side Cache)

當網站上線後,由於網站中許多靜態的網頁、圖檔、CSS、JavaScript 等資料都不會頻繁的變動,為了讓網頁的載入速度加快,我們通常都會將靜態檔案先設定 用戶端快取 (Client-side Cache),也就是所謂的 Expires Header 或稱 Cache Headers,這有別於我們在開發程式時所用的 伺服器端快取 (Server-side Cache)。

... 繼續閱讀 ...

網站效能調校經驗談

我之前在 iT邦幫忙 參加 it實戰經驗大募集 的活動,在 網站效能調校實戰經驗大募集,你有什麼精彩的調校經驗嗎? 的回答獲得了實戰王的獎賞(NT$ 1,000),而昨天有朋友問我怎麼都沒有發表這方面的文章,我才想說這篇文章應該也可以寫在我的部落格中,以下是完整的文章,不過大多是以條列式的方式呈現,牽涉的領域也很廣泛,各位僅供參考。

... 繼續閱讀 ...

用 SqlCacheDependency 快取 LINQ to SQL 的查詢結果

在 ADO.NET 2.0 有個 Query notifications (SqlDependency) 機制,讓 SQL Server 2005 能夠主動通知你的應用程式(Application)來源資料是否變更,尤其是在做資料快取(Cache)的時候特別有效率。但自從改用了 LINQ to SQL 好像就很少人提到如何利用 SqlCacheDependency 類別進行 LINQ to SQL 查詢後的結果做快取。

... 繼續閱讀 ...

ASP.NET 如何將目前的 Cache 物件全部清空

最近在測試一個大量做 Cache 的網站,測試的過程中想說要先將 Cache 物件中的資料全部清空,才發現原來 ASP.NET 中內建的 Cache 物件 ( System.Web.Caching.Cache ) 並沒有支援 Clear() 方法,無法用一行把所有的 Cache 物件清空,然而我也嘗試看有沒有 Cache.Keys 物件,好讓我用 foreach 取得所有 Cache 的 Keys 進而一個一個刪除,結果也是沒有!原來要用以下這段程式碼才能將所有 Cache 中的 Keys 全部取出並逐一刪除:

... 繼續閱讀 ...

簡易克服 CSS 被瀏覽器快取(Cache)的問題

我們建置網站完成後,接下來就是將網站上線了,但當發現網站有問題要修改的時候,可能會遇到一個問題,就是當我們修改 JavaScript 或 CSS 的時候,預設的情況下 *.js 或 *.css 這類靜態網頁通常會被 Browser 快取(Cache)起來,除非你先主動清除這些快取資料,或人工將頁面重新整理才能讀到新的資料。但這個「人工手動」的動作客戶可無法接受!因為大部分網友不會知道需要做這個「重新整理」的步驟,看到的可能是錯誤的畫面、或 JavaScript 的問題。

... 繼續閱讀 ...