The Will Will Web

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

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

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

... 繼續閱讀 ...

關於 Visual Studio 2010 安裝、試用的兩三事 (含補安裝套件)

前陣子為了準備 Visual Studio 2010 上市發表會提前拿到繁體中文版的試用版,但只有 30 天的使用時間,所以在前幾天發生了使用期限到期的通知,而且安裝了新版一樣無法繼續使用。除此之外,由於我意外移除了 Microsoft ASP.NET MVC 2 - Visual Studio 2010 Tools - CHT 安裝,卻上網找不到安裝檔,也是費了好一番功夫才找到安裝套件。今天將我分享 2 個與「安裝」有關的技巧。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

解決 OutputCacheLocation 指定為 ServerAndClient 的問題

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

... 繼續閱讀 ...

解決 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 查詢效能不彰。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...

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 說明)。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...