.Net | The Will Will Web

The Will Will Web

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

寫 ASP.NET 可利用 <asp:PlaceHolder> 降低 ViewState 大小

前幾天在調整一個網站的執行效能時,發現有幾頁的 ViewState 特別大,但是內容卻蠻簡單的,最主要就是一個 Repeater 控制項,內容不多,但 ItemTemplate 中只有用到一個 LinkButton 控制項,其他都是一般的 HTML 標籤加上 DataBound 語法 ( <%# Eval("XXX", "") %> ),由於我有用到 UpdatePanel 包住這個 Repeater 控制項,所以我 ViewState 不能關閉,關閉就會導致錯誤發生,所以我只能在 ItemTemplate 盡可能降低 ViewState 的使用,不過就因為除了 LinkButton 控制項之外的地方我都沒有可以調整的地方,才讓我想到還有個 PlaceHolder 控制項可用。

... 繼續閱讀 ...

手邊有一張速查表(Cheat Sheets)是件很方便的事

我個人有習慣收集一些網路上別人整理的速查表,因為程式開發的細節真的太多了,要能全部背起來不太可能,也沒什麼意義,甚至於有人說程式設計就是一件查詢、複製、貼上的工作而已。對我來說,寫程式首重觀念與經驗,有了完整而正確的觀念,就算記不得要怎麼寫,查詢一下就馬上能寫了;而有了經驗,對於一些難解的 Bug 自然能夠迅速解開。

... 繼續閱讀 ...

詳細解說幾個建置網站時常用的編碼方法

每次有新的開發人員進公司,在開發網站的時候幾乎都會遇到「不知道應該在什麼時候要選用什麼編碼的狀況」,大部分的初學者甚至根本不知道何謂編碼(Encode),而我也面試過好幾位在業界工作多年的工程師,有些也無法精確說明應該在什麼時候要選用什麼編碼,甚至有人說「編碼做什麼?我沒編碼也沒發生過錯誤啊!」。所以我想有必要特別寫一篇文章詳述各種常用的編碼方法與使用情境。

... 繼續閱讀 ...

介紹好用元件:Microsoft Chart Controls for .NET 3.5

在 Web 環境製作圖表(Chart)通常不是一件容易的事,幾年前我就有看到 Dundas 公司開發出一系列非常優秀的圖表元件,只是光購買 for ASP.NET 的元件價格就要 US$699,說貴不貴、說便宜也不是很便宜。但在去年年中的(2007/6/4)時候微軟購買了 Dundas 公司所有的 Dundas Data Visualization 元件版權,並整合進 SQL Server 2008  的 Reporting Services 中(新聞稿)。

... 繼續閱讀 ...

介紹ASP.NET元件:.NET URL Rewriter and Reverse Proxy

由於我以前曾經好長一段時間都只碰 LAMP ( Linux, Apache, MySQL, PHP ),也因為這樣之前曾經接觸過 Apache 的一個很有名的模組 mod_rewrite,由於這個模組強大的 URL Rewriting 功能,讓你很輕易的就可以完成 SEO 的規劃,或是設定條件阻擋 Hot-linking 的要求,甚至於還可以做到類似 Reverse Proxy 的效果。這樣的功能在 ASP.NET 中當然也少不了,不過讓我高興的是,竟然有人實做出一個跟 mod_rewrite 設定格式幾乎相容的版本。

... 繼續閱讀 ...

C# 編碼規範(Coding Standard)參考文件

我長久一來一直苦惱於不知道如何訂定 C# 編碼規範(Coding Standard),雖然很久以前我就有看到微軟的開發類別庫的設計方針文件,不過內容過於嚴謹,況且我們的工程師大多是開發 ASP.NET 居多,並不常開發類別庫(Class Libray),所以我若用 MSDN 的開發類別庫的設計方針要求工程師們可能會有點不切實際。

... 繼續閱讀 ...

CasPol.exe 程式碼存取安全性原則工具幾個常用的指令

程式碼存取安全性(CAS, Code Access Security)是 .NET Framework 中非常重要的一部份,不過我發現大部分的 ASP.NET 開發人員並不清楚 CAS 是什麼,因為在開發 ASP.NET 的時候很少有機會去碰觸到這一塊,最近我們工程師在用 .NET 寫一個 COM 元件時就發生了 CAS 的權限問題,導致程式無法正常執行的情況。

... 繼續閱讀 ...