摘要
本期共有9篇文章:
- 提高C#和Visual Studio 2008生產力的10個技巧
- ASP.NET MVC Action過濾器:緩衝和壓縮
- 程式停止工作及其解決方案:第一部分:死結
- 調用Digg、Flickr、Facebook、YouTube、Twitter、Live Services、Google和其他Web 2.0 API的C#及VB.NET類庫
- 使用jQuery調用ASP.NET的JSON Web Service
- ASP.NET MVC架構:第二部分:測試
- IIS7的新模組:日誌報表、資料庫管理等
- 給ASP.NET 2.0 FileUpload控制項添加過濾功能
- OnLoad?Page_Load?還是Load事件?
[1] 10 Tips to Boost Your Productivity with C# and Visual Studio 2008 (提高C#和Visual Studio 2008生產力的10個技巧)
此類文章相對來說比較泛濫,而且均冠以“10大”之類的標題。不過偶爾看一下,可能還是會有所協助,畢竟不要花費太多時間:
- Learn Key Bindings
- Generate XML Comments with GhostDoc
- Auto-Implement Properties
- Refactor
- Add Commands to Visual Studio 2008
- Speed up Compilation with Project Configuration
- Let Visual Studio Generate Unit Test Code
- Use Interface-Driven-Design
- Make a Mockery of Dependencies
- 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 (程式停止工作及其解決方案:第一部分:死結)
文章本身沒有太多的詳細介紹,不過最後給出的一系列連結倒是非常的不錯,絕對是系統瞭解死結相關問題的好資源:
- Deadlock (critical sections)
- Deadlock (executive resources)
- Deadlock (mixed objects)
- Deadlock (LPC)
- Deadlock monitor
- No More Hangs- Advanced Techniques To Avoid And Detect Deadlocks In .NET Apps
- Detecting Deadlocks in Multithreaded Win32 Applications
- 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事件,那麼三者之間有什麼區別呢?應該如何挑選呢?
本文就從效能、編程風格、代碼一致性、是否物件導向等各個方面對上述三種方法進行了比較……