本周ASP.NET英文技術文章推薦[03/23 - 04/05]:C#、Visual Studio、MVC、死結、Web 2.0 API、jQuery、IIS7、FileUpload

來源:互聯網
上載者:User

摘要

本期共有9篇文章:

  1. 提高C#和Visual Studio 2008生產力的10個技巧
  2. ASP.NET MVC Action過濾器:緩衝和壓縮
  3. 程式停止工作及其解決方案:第一部分:死結
  4. 調用Digg、Flickr、Facebook、YouTube、Twitter、Live Services、Google和其他Web 2.0 API的C#及VB.NET類庫
  5. 使用jQuery調用ASP.NET的JSON Web Service
  6. ASP.NET MVC架構:第二部分:測試
  7. IIS7的新模組:日誌報表、資料庫管理等
  8. 給ASP.NET 2.0 FileUpload控制項添加過濾功能
  9. OnLoad?Page_Load?還是Load事件?

 

[1] 10 Tips to Boost Your Productivity with C# and Visual Studio 2008  (提高C#和Visual Studio 2008生產力的10個技巧)

此類文章相對來說比較泛濫,而且均冠以“10大”之類的標題。不過偶爾看一下,可能還是會有所協助,畢竟不要花費太多時間:

  1. Learn Key Bindings
  2. Generate XML Comments with GhostDoc
  3. Auto-Implement Properties
  4. Refactor
  5. Add Commands to Visual Studio 2008
  6. Speed up Compilation with Project Configuration
  7. Let Visual Studio Generate Unit Test Code
  8. Use Interface-Driven-Design
  9. Make a Mockery of Dependencies
  10. Data Drive Unit Tests

其中第5條Add Commands to Visual Studio 2008中介紹的那個小工具非常不錯,節省了不少時間。

 

[2] ASP.NET MVC Action Filter - Caching and Compression (ASP.NET MVC Action過濾器:緩衝和壓縮)

作者給出了ASP.NET MVC中的兩個Action過濾器,讓我們能夠很方便地添加緩衝和壓縮支援。

其中的緩衝過濾器只要這樣為方法添加屬性即可:

[CacheFilter(Duration = 60)]
public void Category(string name, int? page)

而壓縮的使用方式也非常類似:

[CompressFilter]
public void Category(string name, int? page)

 

[3] Hangs and how to solve them - part 1 - Deadlocks (程式停止工作及其解決方案:第一部分:死結)

文章本身沒有太多的詳細介紹,不過最後給出的一系列連結倒是非常的不錯,絕對是系統瞭解死結相關問題的好資源:

  1. Deadlock (critical sections)
  2. Deadlock (executive resources)
  3. Deadlock (mixed objects)
  4. Deadlock (LPC)
  5. Deadlock monitor
  6. No More Hangs- Advanced Techniques To Avoid And Detect Deadlocks In .NET Apps
  7. Detecting Deadlocks in Multithreaded Win32 Applications
  8. Under the Hood -- MSJ, January 1996

 

[4] C# and VB .NET Libraries to Digg, Flickr, Facebook, YouTube, Twitter, Live Services, Google and other Web 2.0 APIs (調用Digg、Flickr、Facebook、YouTube、Twitter、Live Services、Google和其他Web 2.0 API的C#及VB.NET類庫)

很多Web 2.0都提供了專門的API供其他程式調用,自然也有一些類庫對這些API進行了封裝。本文就列出了這樣幾個流行的Web 2.0網站的調用類庫,例如調用Flickr,只要使用如下文法即可:

PhotosSearchOptions options = new PhotosSearchOptions();
options.Tags = "blue,sky";
options.Extras |= PhotoSearchExtras.DateTaken | PhotoSearchExtras.OriginalFormat;
Photos photos = flickr.PhotosSearch(options);

 

[5] Using jQuery to Consume ASP.NET JSON Web Services (使用jQuery調用ASP.NET的JSON Web Service)

ASP.NET AJAX的用戶端類庫內建了對調用ASP.NET的JSON Web Service的支援,不過只要“類比”出同樣的請求,任何的JavaScript用戶端類庫都能夠一樣調用。

這篇文章就介紹了使用jQuery調用ASP.NET的JSON Web Service的方法,其實並沒有任何技巧可言:

$(document).ready(function() {
  $.ajax({
    type: "POST",
    url: "RSSReader.asmx/GetRSSReader",
    beforeSend: function(xhr) {
      xhr.setRequestHeader("Content-type", 
                           "application/json; charset=utf-8");
    },
    dataType: "json",
    success: function(msg) {
      // Hide the fake progress indicator graphic.
      $('#RSSContent').removeClass('loading');
 
      // Insert the returned HTML into the <div>.
      $('#RSSContent').html(msg.d);
    }
  });

 

[6] ASP.NET MVC Framework – Part 2: Testing (ASP.NET MVC架構:第二部分:測試)

似乎MVC架構中對測試的關注程度非常高,最近好多文章都在介紹這個東西。這篇文章也是一步步地給出了通常的使用方法,從為什麼要測試到如何測試。

下面就是對某個Controller進行測試的代碼:

[TestMethod]  
public void AboutOverride()  
{  
   HomeControllerForTest controller = new HomeControllerForTest();  
  
   controller.About();  
  
   Assert.AreEqual("Index", controller.SelectedViewName,  
                              "Should have redirected to Index");  
}

 

[7] New Log Reporting, Database Management, and other cool admin modules for IIS 7 (IIS7的新模組:日誌報表、資料庫管理等)

Scott的一篇文章,其中介紹了花哨的IIS7中的另一些管理模組。例如這個日誌報表:

不過實際上,我還是覺得從前的IIS 6介面比較順眼,使用了IIS 7的時間也不短了,還是沒有搞清楚某些功能在什麼地方…………

 

[8] Adding Filter Action to FileUpload Control of ASP.NET 2.0 (給ASP.NET 2.0 FileUpload控制項添加過濾功能)

所謂過濾功能,其實就是只允許上傳某類副檔名的檔案。不過實際上HTML中並沒有此類內建的支援,因此若想實現此類功能,還是要靠用戶端的JavaScript和伺服器端自訂的驗證邏輯配合。當然,個人感覺最好的方法還是使用專門的Flash上傳控制項。

 

[9] OnLoad vs. Page_Load vs. Load event (OnLoad?Page_Load?還是Load事件?)

若想在Page載入時執行某些自訂動作,既可以覆寫頁面的OnLoad方法,也可以在預設的Page_Load中直接添加,還可以監聽頁面的Load事件,那麼三者之間有什麼區別呢?應該如何挑選呢?

本文就從效能、編程風格、代碼一致性、是否物件導向等各個方面對上述三種方法進行了比較……

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.