提醒:若朋友們想對英文文章進行翻譯,則首先需要徵得原作者的同意,以免日後導致無謂的著作權紛爭。以下內容節選自《中華人民共和國著作權法》:
第十條 著作權包括下列人身權和財產權:
(一)發表權,即決定作品是否公之於眾的權利;
(二)署名權,即表明作者身份,在作品上署名的權利;
(三)修改權,即修改或者授權他人修改作品的權利;
(四)保護作品完整權,即保護作品不受歪曲、篡改的權利;
(五)使用權和獲得報酬權,即以複製、表演、播放、展覽、發行、攝製電影、電視、錄影或者改編、翻譯、注釋、編輯等方式使用作品的權利;以及許可他人以上述方式使用作品,並由此獲得報酬的權利。
第十二條 改編、翻譯、注釋、整理已有作品而產生的作品,其著作權由改編 、翻譯、注釋、整理人享有,但行使著作權時,不得侵犯原作品的著作權。
[0] 摘要
本期共有9篇文章:
- [1] ASP.NET中的強型別資源
- [2] 在Visual Studio Development Server以及Web Application Projects中建立子項目 3/3
- [3] ASP.NET案例分析:由ViewState造成的GC時的低效能、高記憶體使用量以及高CPU佔用率
- [4] ASP.NET中的O/R Mapping
- [5] 用JavaScript在基於Mozilla和IE的瀏覽器中畫線
- [6] GridView的主題樣式
- [7] 基於ASP.NET AJAX的網站展示
- [8] 3層Web應用程式中的雙向資料繫結
- [9] 在ASP.NET 2.0中建立CSS友好的Web網站
[1] Strongly typed Resources in ASP.NET(ASP.NET中的強型別資源)
WinForm中的資源資料可以是強型別的——編譯器會自動根據資源檔編譯出一個輔助類來實現這個功能。而ASP.NET Web Site項目卻沒有這麼幸運了。但ASP.NET Web Application Projects的出現似乎讓我們看到了一些轉機:相對於Web Site,ASP.NET Web Application Projects的編譯模型更加“類似於”WinForm程式……
Rick Strahl確實是一個牛人,每一兩天就會發出一片足夠“重量級”的文章,他似乎對所有的領域都非常感興趣,且都有不錯的理解。這篇文章則更是一個非常好的從發現問題到解決問題的樣本。在為ASP.NET添加強型別資源的過程中,Rick Strahl逐步地分析問題,又一個個地解決,同樣新問題也又不停地到來。這種鑽研的精神、面對問題時思維的發散性,才是文章所講的技術背後最值得我們學習的東西。
[2] Part 3 of 3: Creating sub-projects using the Visual Studio Development Server and Web Application Projects(在Visual Studio Development Server以及Web Application Projects中建立子項目 3/3)
在開發大型的ASP.NET 2.0應用程式時,我們完全可以使用Web Application Projects在Visual Studio中將這個大型的項目分割成若干個小型項目,並相對獨立地進行開發,以提高開發效率。
本篇就是介紹該特性的系列文章中的第三篇,也是最後一篇。文章寫得淺顯易懂,且配合了大量的插圖,適合初學者學習。這個系列的三篇文章由微軟公司Web工具Team Dev的Group PM,Omar Khan書寫,下面是Omar Khan在第一篇中對整個系列的介紹:
- Part 1 of 3: In this post, I’ll describe the basics on how to setup a sub-project structure using IIS.
- Part 2 of 3: The next post will describe intricacies with master pages, user controls, and project references when using a sub-project structure.
- Part 3 of 3: The final part to the series will describe how to use the same technique but with the built-in development server in Visual Studio 2005.
[3] ASP.NET Case Study: Bad perf, high memory usage and high CPU in GC - Death By ViewState(ASP.NET案例分析:由ViewState造成的GC時的低效能、高記憶體使用量以及高CPU佔用率)
這是一篇比較“有技術含量”的文章,作者Tess是微軟公司的支援人員工程師,也是一個美女:-)。她的Blog也自然非常受歡迎(kidding),主要專註於效能、調試等內容。
在這篇文章中,Tess花費了很多的時間研究了ViewState對ASP.NET效能上的影響,特別是在大型、負載較重的情況下。Tess使用了包括察看dump檔案等各種方式,最終找到了問題的所在。其中抽象問題、分析問題以及最後解決問題的步驟有條不紊,非常的理性。如果你能靜下心來仔細隨著Tess走完全程,相信一定會得到相當的啟示的。
[4] Object Relational Mapping in ASP.NET 2.0(ASP.NET中的O/R Mapping)
O/R Mapping似乎已經成了當前資料持久化中不可或缺的最重要的一項技術,正是有了O/R Mapping,才將我們開發人員從大量的重複或類似代碼中解放出來,能夠有時間專心於商務邏輯領域。
Stephen Rylander所寫的這篇文章是一篇O/R Mapping的入門文章。通過實際項目開發中遇到的一個持久化問題,作者分析了O/R Mapping的應用範圍、使用方式,並最終給出瞭解決方案。不過作者選擇WilsonORMapper作為O/R Mapping的架構,並沒有選擇NHibernate,想必一定會有他的理由吧。
若你尚不瞭解什麼是O/R Mapping,那麼顯然這篇文章將最適合你不過了!
[5] Drawing lines in Mozilla based browsers and the Internet Explorer(用JavaScript在基於Mozilla和IE的瀏覽器中畫線)
這篇文章討論了兩個非常有意思的東西:
- GUI中的畫線演算法:如果你曾學習過,或是還記得《電腦圖形學》這門課程,那麼其中第一個重要的地方就是GUI上畫直線的演算法。看似簡單,不就是一條直線嗎?不過需要考慮的問題卻很多,包括實現柔和的線條、效能最佳化等各個方面。電腦圖形學中使用倒了大量的演算法知識進行最佳化,絕對是複習演算法的絕好材料。如果你已經忘記了這部分內容,那麼就讓我們從這篇文章中揀起來吧!
- 用JavaScript在瀏覽器中畫線:JavaScript在瀏覽器中畫線?沒錯,就是這個!具體的實現方式就請朋友們耐心閱讀吧,這裡我先賣個關子。
雖然上面這兩個問題都非常有意思,不過可能在實際開發中卻很難用上。不管怎樣,我還是執意要推薦一下,畢竟,紮實的演算法功底才是程式員之根本!
[6] GridThemes(GridView的主題樣式)
ASP.NET中的GridView控制項功能非常強大,如果寫書介紹的話,300也肯定沒問題。但你有沒有想過有一天為其應用更加強大的主題樣式呢?例如左圖這樣的GridView,一定會讓你的表格更加受客戶的青睞吧!
本文是CodeProject上的GridThemes項目的介紹文章,該項目讓我們能夠通過自訂的主題樣式檔案,為GridView指定豐富的樣式。最酷的一點是:在這個自訂佈景主題樣式檔案中,我們甚至可以使用if-else之類的條件判斷語句!這也正是左圖中表格樣式如此豐富的原因。
讓我們看看它的一個樣式檔案的定義:
<Theme id=”ifs” title=”Working with If conditions”>
<DataRow>
<!-- display alternate columns with different background colors -->
<If test=’CellIndex % 2 == 0’>
<Apply backColor=’LightGray’ />
<ElseApply backColor=’White’ />
</If>
<!-- apply numeric formatting -->
<If test=’IsNumeric’ >
<Apply horizontalAlign=’Right’ />
<If test=’IsNegative’ >
<Apply foreColor=’Red’ />
</If>
</If>
</DataRow>
</Theme>
[7] Showcase of Sites Powered by ASP.NET AJAX(基於ASP.NET AJAX的網站展示)
Ajax.NET Professional的作者Michael Schwarz最近找到了兩個基於ASP.NET AJAX(注意:不是他自己的Ajax.NET Professional)的網站:Quotiki和SmartScoreboard。於是Michael Schwarz分析了一下這兩個網站使用ASP.NET AJAX所帶來的網路傳輸量的減少。
當然,Michael Schwarz並沒有太多的評論,一切都以事實資料說話,這也是一個專業人物專業的體現吧。不過隻言片語中看得出來,Michael Schwarz還是對ASP.NET AJAX的效能問題頗有微詞……
[8] Two-way data binding in 3-Tier web application(3層Web應用程式中的雙向資料繫結)
資料繫結是所有ASP.NET開發人員都熟悉的,不過可能很多朋友所熟悉的都是單向的,也就是從資料層到邏輯曾再到展示層。不過嚴格說來,“綁定”一詞的定義就包含了“雙向”的概念,這樣說來,我們所應用的“綁定”其實根本就不算做綁定……
Eric Popivker的這篇文章討論了典型的3層架構ASP.NET Web應用程式中雙向資料繫結的實現方式。下面就是他在本文中樣本程式的情境描述,可以看到,其中的一切步驟都是以“綁定”方式實現的,充分體現了“綁定”架構的強大功能:
- Load appropriate record from table Customer
- Bind customer record to Customer business object
- Bind Customer object properties to web control values
- User enters information into form and clicks on submit
- Bind updated web control values to Customer object
- Bind Customer object to a table record
- Save table record to table Customer
[9] Creating CSS Friendly Websites with ASP.NET 2.0(在ASP.NET 2.0中建立CSS友好的Web網站)
ASP.NET 2.0 CSS Friendly Control Adapters的發布確實為我們Web開發人員解決了大量的ASP.NET 2.0中不符合Web標準的問題(請參考:建立符合標準的、有語意的HTML頁面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0發布)。本文就一步步地介紹了在項目中使用ASP.NET 2.0 CSS Friendly Control Adapters的方法,比起純粹的樣本程式或是設計文檔,這樣教程形式的文章或許更加易於接受。
如果你對ASP.NET 2.0 CSS Friendly Control Adapters還不甚瞭解,那麼完全可以跟隨著這篇文章進行入門。