本周ASP.NET英文技術文章推薦[11/26 - 12/02]

來源:互聯網
上載者:User

提醒:若朋友們想對英文文章進行翻譯,則首先需要徵得原作者的同意,以免日後導致無謂的著作權紛爭。以下內容節選自《中華人民共和國著作權法》:

第十條  著作權包括下列人身權和財產權:                             
    (一)發表權,即決定作品是否公之於眾的權利;
    (二)署名權,即表明作者身份,在作品上署名的權利;
    (三)修改權,即修改或者授權他人修改作品的權利;    
    (四)保護作品完整權,即保護作品不受歪曲、篡改的權利;
    (五)使用權和獲得報酬權,即以複製、表演、播放、展覽、發行、攝製電影、電視、錄影或者改編、翻譯、注釋、編輯等方式使用作品的權利;以及許可他人以上述方式使用作品,並由此獲得報酬的權利。

第十二條 改編、翻譯、注釋、整理已有作品而產生的作品,其著作權由改編 、翻譯、注釋、整理人享有,但行使著作權時,不得侵犯原作品的著作權。

[0] 摘要

本期共有9篇文章:

  1. [1] ASP.NET中的強型別資源
  2. [2] 在Visual Studio Development Server以及Web Application Projects中建立子項目 3/3
  3. [3] ASP.NET案例分析:由ViewState造成的GC時的低效能、高記憶體使用量以及高CPU佔用率
  4. [4] ASP.NET中的O/R Mapping
  5. [5] 用JavaScript在基於Mozilla和IE的瀏覽器中畫線
  6. [6] GridView的主題樣式
  7. [7] 基於ASP.NET AJAX的網站展示
  8. [8] 3層Web應用程式中的雙向資料繫結
  9. [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在第一篇中對整個系列的介紹:

  1. Part 1 of 3: In this post, I’ll describe the basics on how to setup a sub-project structure using IIS.
  2. Part 2 of 3: The next post will describe intricacies with master pages, user controls, and project references when using a sub-project structure.
  3. 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的瀏覽器中畫線)

這篇文章討論了兩個非常有意思的東西:

  1. GUI中的畫線演算法:如果你曾學習過,或是還記得《電腦圖形學》這門課程,那麼其中第一個重要的地方就是GUI上畫直線的演算法。看似簡單,不就是一條直線嗎?不過需要考慮的問題卻很多,包括實現柔和的線條、效能最佳化等各個方面。電腦圖形學中使用倒了大量的演算法知識進行最佳化,絕對是複習演算法的絕好材料。如果你已經忘記了這部分內容,那麼就讓我們從這篇文章中揀起來吧!
  2. 用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應用程式中雙向資料繫結的實現方式。下面就是他在本文中樣本程式的情境描述,可以看到,其中的一切步驟都是以“綁定”方式實現的,充分體現了“綁定”架構的強大功能:

  1. Load appropriate record from table Customer
  2. Bind customer record to Customer business object
  3. Bind Customer object properties to web control values
  4. User enters information into form and clicks on submit
  5. Bind updated web control values to Customer object
  6. Bind Customer object to a table record
  7. 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還不甚瞭解,那麼完全可以跟隨著這篇文章進行入門。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.