ASP.NET MVC 開發心得分享 (19):Action 要小心使用 using

分享到噗浪!

今天在 Code Review 的時候抓到一支程式臭蟲,這個功能是某 ASP.NET MVC 專案中的一個匯出下載檔案功能,該功能的 Action 已經寫完很久了,之前測試都正常,但是最近卻突然爆發錯誤,經程式追查之下才發現原來是程式在執行之前就已經把資源給釋放掉了,導致 ASP.NET MVC 無法正確回應資料到用戶端,以致於發生【System.InvalidOperationException: 作業無效。已經關閉連接。】的錯誤。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/8/14 下午 06:03:28

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤: ,

人生第一本書:ASP.NET MVC 2 開發實戰將於 8/16 上市

分享到噗浪!

我的人生第一本書【ASP.NET MVC 2 開發實戰】終於要出版了,從去年四月到現在寫了一年多的時間,真的很不好意思讓各位久等了,剛剛得知悅知文化來的消息,目前已經確定本書在 8/16 就可以在全省書店買到,而且本週六或週日開始在天瓏書局還會開放 75 折的預購 喔,此次為獨家預購:Visual Studio 2010 新書預購第二波(2010-08-06),預購截止日到 8/16 (一),有興趣的人可以好好把握。 ^_^

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/8/6 下午 01:23:29

永久連結 | 評論 (26) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤:

Visual Studio 2010 開啟 ASP.NET MVC 1.0 專案的注意事項

分享到噗浪!

我們之前有個專案是用 ASP.NET MVC 1.0 開發,原本大家都是用 Visual Studio 2008 在開發,但上個月有位同事將專案升級至 Visual Studio 2010,升級的過程並沒有發生任何問題,不過他有把 ASP.NET MVC 組件還原成 1.0 的版本,過了一個月後終於在測試機身上爆發問題,我今天也是查了十幾分鐘才找到問題發生的主因。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/8/2 下午 09:33:59

永久連結 | 評論 (4) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤: , ,

ASP.NET 4.0 安裝在 IIS6 最常遇到的四個問題

分享到噗浪!

昨天同事將一個 ASP.NET 4.0 的網站安裝到客戶的 IIS6 主機上 (測試環境),結果過程非常不順利,他們曾經一度覺得客戶的主機不知道經過幾隻手蹂躪過了(因為有好多人在共用 Administrator 帳號)進而產生排斥安裝在客戶主機以及 “為什麼我們要用 ASP.NET 4” 的感覺,不過在一群人的努力之下最後還是克服了困難,我特別因此寫下筆記,相信這些問題有其他人也可能會遇到。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/6/22 上午 10:46:03

永久連結 | 評論 (3) | 此文章的RSSRSS comment feed |

分類: ASP.NET | ASP.NET MVC | IIS | Tips

標籤: , , , , , ,

Visual Studio 2010 如何設定啟用 Code Coverage 功能

分享到噗浪!

之前寫過一篇 ASP.NET MVC 內建測試專案如何設定啟用 Code Coverage,結果到了 Visual Studio 2010 設定過程有些不太一樣,以下是心得筆記。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/6/12 下午 11:43:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC | Visual Studio

標籤: , , , ,

ASP.NET MVC 開發心得分享 (18):非同步控制器開發

分享到噗浪!

ASP.NET MVC 2.0 新增 非同步控制器 (AsyncController) 的開發方式,若是你的網站流量大但是大部分的運算資源是落在與 CPU 無關的運算上時,例如 SQL Server、讀取外部網路資源、呼叫外部 Web Service 等等,就很適合利用此功能來開發 ASP.NET MVC 應用程式,由於這是個比較進階且冷門的技術,所以我大致寫一些 IIS 處理非同步要求的原理與 ASP.NET MVC 非同步控制器的撰寫方式以及開發應注意的事項。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/6/6 上午 01:20:32

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤: , ,

分享幾個 Visual Studio 2010 專案升級後無法編譯的問題

分享到噗浪!

若使用 Visual Studio 2010 升級現有 ASP.NET 2.0 / 3.5 的專案到 ASP.NET 4.0 在大部分的情況下應該都沒問題才是,就算你在開啟就專案時選擇「不升級」照理說也應該沒問題,但前陣子在測試的過程中還是遇到了幾個不管升級到 ASP.NET 4 還是保留在原本的 ASP.NET 3.5 都有遇到網站進行編譯的情況,以下是一些經驗分享。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/5/8 下午 05:58:40

永久連結 | 評論 (6) | 此文章的RSSRSS comment feed |

分類: ASP.NET | ASP.NET MVC | Visual Studio

標籤: , , , , ,

VS2010 上市發表會:Web 開發效率提昇 - ASP.NET 4.0

分享到噗浪!

今天是 Visual Studio 2010 上市發表會 (台北場) 的日子,這段時間無不用盡心思研讀文件與撰寫簡報,為了就是能夠完美演繹我今天講的主題【 Web 開發效率提昇 - ASP.NET 4.0 】,這是我第一次講這麼多人的場次,感覺應該要緊張才對,神奇的是今天上台完全沒有緊張感,我覺得可能是準備充分的關係,昨晚又拉公司同事下來聽我預演到晚上 11:30 (萬分感謝),所以心理感覺很踏實,雖然最近嚴重睡眠不足,但這次學到一次寶貴的演說經驗,感覺蠻開心的。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/5/6 下午 09:07:08

永久連結 | 評論 (11) | 此文章的RSSRSS comment feed |

分類: 心得分享 | Visual Studio | ASP.NET | ASP.NET MVC | .Net

標籤: , , , , ,

解決 OutputCacheLocation 指定為 ServerAndClient 的問題

分享到噗浪!

Web 效能調校博大精深,眉眉角角的細節之多實在難以整理,我想大部分人也都跟我一樣,也是從一次又一次與茶包戰鬥中累積經驗,這次又遇到了一個有趣的問題。當我想將頁面設定輸出快取時,可能會希望同時快取在伺服器端(Server)與用戶端(Client),因此在設定 OutputCache 時有個 Location 屬性,我們會將其設定為 ServerAndClient 或 Any,但是你可否知道即便你這樣設定,一樣無法快取網頁內容於用戶端(Client),所以單單這樣設定並沒有達到我們真正想達到的目的 ( 同時在 Server 與 Client 快取網頁 )。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/3/30 下午 08:45:51

永久連結 | 評論 (1) | 此文章的RSSRSS comment feed |

分類: ASP.NET | ASP.NET MVC | Web

標籤: , , , ,

解決 N-Tier 多層架構設計下 LINQ to SQL 效能不彰的問題

分享到噗浪!

ASP.NET MVC 的開發原則有個 SoC (Separation of Concern) 的觀念,我們在開發較大型的 ASP.NET MVC 應用程式時會特別將資料存取層(Data Access Layer) 再細分為兩個層次,分別是 Repository Layer (資料倉儲層) 負責資料存取與欄位格式驗證,與 Service Layer (服務提供層) 負責資料篩選與商業邏輯驗證,但分層之後遇到了一個之前沒想過的問題,進而導致 LINQ to SQL 查詢效能不彰。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/3/29 下午 02:53:25

永久連結 | 評論 (2) | 此文章的RSSRSS comment feed |

分類: Entity Framework | LINQ | ASP.NET MVC | Tips

標籤: , ,

ASP.NET MVC 開發心得分享 (17):OutputCache 帶來的問題

分享到噗浪!

為了能讓網站運作時能夠得到最好執行效能,運用 OutputCache 機制絕對是不可或缺的技能之一,而在 ASP.NET MVC 套用 OutputCache 機制就是使用 OutputCacheAttribute Class 即可輕易做到輸出快取,不過在套用 OutputCache 的過程也很有可能會遇到一些莫名的錯誤,須了解背後原理才能得知問題發生的原因。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/3/28 下午 05:51:36

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: ASP.NET | ASP.NET MVC

標籤: , , ,

ASP.NET MVC 2 各版本組件編號整理與 VS2010 的注意事項

分享到噗浪!

由於 ASP.NET MVC 2 日前已經正式發行(RTM),但最近從 RC2 換到 RTM 的過程中發生了一些小意外,最近有個同事因為之前安裝了 ASP.NET MVC 2 RC 最近又安裝了 ASP.NET MVC 2 RTM,原以為已經升級到最新版了,誰知道用 Visual Studio 2010 RC 開啟 ASP.NET MVC 2 的專案時還是舊版,導致在使用 client validation 時會讓在使用相容性模式瀏覽的 IE 掛掉 (此問題已在 ASP.NET MVC 2 RTM 版修正,詳見 Release Note 說明)。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/3/26 下午 08:16:12

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤: ,

ASP.NET MVC 開發心得分享 (16):在網站專案下運作

分享到噗浪!

之前有很多人問我 ASP.NET MVC 到底可不可以在 Visual Studio 的網站專案(WebSite Project)模式下運作,也就是在 ASP.NET 動態編譯的架構下運行 ASP.NET MVC,事實上是沒問題且非常容易的,唯一的缺點就是會失去 Visual Studio 開發工具的有效支援,例如 Add Controller 或 Add View 等等的工作可能會變的沒辦法自動化等等。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/2/22 下午 11:50:00

永久連結 | 評論 (1) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤: , ,

在 ASP.NET 環境下使用 Memcached 快速上手指南

分享到噗浪!

之前一直想研究 Memcached,這幾天花了些時間研究 Memcached Providers 好讓我現有的 ASP.NET 專案能解決多台主機間快取不同步的狀況, 想不到花沒多少時間就上手了,也因此做了一些記錄。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/1/27 下午 09:09:00

永久連結 | 評論 (11) | 此文章的RSSRSS comment feed |

分類: .Net | ASP.NET | ASP.NET MVC

標籤: , , , ,

利用 WebClient 類別模擬 HTTP POST 表單送出的注意事項

分享到噗浪!

我們都知道 WebClient 類別是個簡單易用的東西,不只可以用作 HTTP 用途,連 FTP 都能用,想偷懶時很快就能寫出一些網路資料上傳、下載的程式,像我在寫一些測試程式時經常會使用 WebClient 類別,但大多情況都用來「下載網頁」居多,少有模擬表單上傳資料的情況,但利用 WebClient 類別在「傳送表單資料」時要小心使用,否則遠端接不到資料又很難除錯時哪就麻煩了。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/1/23 下午 01:34:45

永久連結 | 評論 (5) | 此文章的RSSRSS comment feed |

分類: Web | .Net | ASP.NET MVC | ASP.NET

標籤: , , ,

整理一大堆 ASP.NET MVC 速查表(Cheat Sheets)

分享到噗浪!

最近整理了一堆與 ASP.NET MVC 有關的速查表(Cheat Sheets),非常的實用,特別整理成一篇文章,對於 ASP.NET MVC 一知半解的人可以透過速查表快速瞭解全貌,並針對不熟悉的部分進一步研讀相關文章。另外我在 2010/2/25 (四) PM 1:30 在微軟 7A/7B 有場『ASP.NET MVC 開發實務經驗分享』的研討會 [ 報名連結 ] ,有興趣的人可以來聽看看,聽說已經超過 200 人報名了,欲報從速!

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/1/13 上午 11:54:53

永久連結 | 評論 (3) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤: ,

ASP.NET MVC 開發心得分享 (15):全球化和當地語系化

分享到噗浪!

之前幾篇文章有講過 ASP.NET MVC 事實上共用許多 ASP.NET 原本就有的東西,這當然連 ASP.NET 全球化和當地語系化的支援也包含在內,在建置多國語言網站時我們通常會利用 App_GlobalResources 儲存全域資源檔,與頁面有關的本地資源檔會放在每一個 *.aspx 所在目錄下的 App_LocalResources 目錄下,這樣的架構在 ASP.NET MVC 之中也一樣可以利用,只是需要一些小技巧才能方便在 View 中使用,今天會分享一個 HtmlHelper 幫助我們在 View 中取用資源檔的資料。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/1/5 下午 01:14:22

永久連結 | 評論 (3) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤: , ,

ASP.NET MVC 開發心得分享 (14):實做 HTTP 301 永久轉向

分享到噗浪!

最近有人問我 ASP.NET MVC 如何實做 HTTP 301 永久轉向 (HTTP 301 Moved Permanently),因為內建的 RedirectResult 或 RedirectActionResult 或 RedirectToRouteResult 的轉向動作都是用 HTTP 302 做轉向,但事實上這個問題與 ASP.NET MVC 無關,因為這部分的解決方法跟 ASP.NET Web Form 一模一樣。

... 繼續閱讀 ...

  

此文章由 will 發表於 2010/1/4 上午 01:52:33

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: ASP.NET | ASP.NET MVC

標籤: ,