摘要
好久沒寫了,不為自己找借口,不管怎樣,還是要繼續撿起來。本期共有9篇文章:
- C#中的不可變類型
- 使用System.Drawing產生縮圖時應採用什麼樣的InterpolationMode和CompositingQuality
- ASP.NET效能最佳化點滴
- ASP.NET 2.0中的單點登入實現
- 將Spring.NET整合至ASP.NET Web網站中
- 為Facebook開發應用程式
- 一步一步學習在ASP.NET中使用MySQL
- ASP.NET Menu和SiteMap根據安全性配置的自動截取
- Microsoft Web Deployment Tool - Tech Preview 1
[1] Immutability in C# (C#中的不可變類型)
這是一篇總結性質的文章——C#中的有一些類型是不可變的,也就是說,一旦建立好了對象,其中的值就再也不能夠被改變了。Patrick Smacchia說,這樣做有如下的好處:
- They simplify multithreaded programming.
- They can be used as hashtable keys.
- They simplify state comparison.
更多的好處以及具體的實現方法,我記得在Effective C#中講得很明白,有興趣的朋友不妨看看。
這篇文章彙總了很多關於C#中的不可變類型的內容,包括為什麼引入這個東西,什麼時候應該使用,怎麼使用等等。雖然不是什麼新鮮的東西,加深下印象也無妨。
[2] What InterpolationMode and CompositingQuality to use when generating thumbnails via System.Drawing (使用System.Drawing產生縮圖時應採用什麼樣的InterpolationMode和CompositingQuality)
看上去似乎和ASP.NET沒什麼直接關係,不過實際上,產生縮圖這個功能還是ASP.NET中非常常用到的。這篇文章中就給出了一個測試用的程式,比較了各種不同nterpolationMode和CompositingQuality下的縮圖產生情況。還圖文並茂給出了各個結果,下面就是結果的一部分:
有這方面需求的朋友不妨看看,根據需要最佳化一下程式中產生縮圖的方法。
[3] ASP.NET Performance Tips (ASP.NET效能最佳化點滴)
非常不錯的一篇文章,沒有太多高深的內容,都是一些點滴之處。不過無論什麼時候,程式效能最佳化方面值得考慮的東西總是太多。往往魚和熊掌不可兼得,或是牽一髮而動全身。這篇文章的做法也不是金科玉律,執行時候還需要具體問題具體分析。
文章中給出了如下一些點滴:
- Return Multiple Recordset
- Paged Data access
- Using Cache API (Programmatic way of caching)
- Per-request caching
- Page output caching
- Kernel Caching (Only with IIS 6.0)
- Connection pooling
- Using GZip compression
- Server Control View State
- Trim the page size
- Using Page.IsPostBack to Minimize Redundant Processing
- Using Server.Transfer instead of Response.Redirect
- Avoid Using Page.DataBind, instead call data bind on specific control
- Minimize Calls to DataBinder.Eval
- Disable unnecessary session state
- Use SqlDataReader to visit the Read-Only Data instead of DataSet
- Use of server controls
[4] Understanding Single Sign-On in ASP.NET 2.0 (ASP.NET 2.0中的單點登入實現)
單點登入的文章和討論很多,什麼XX Passport,XX ID的不計其數。不過這篇文章中作者獨闢蹊徑,居然通過固定了不同ASP.NET應用程式的machineKey為同一個的方法實現了單點登入……實在令人唏噓不已。
文章還內建一個小小的樣本程式,不過聽到了這個machineKey方法之後,樣本程式也就顯得非常簡單了。
[5] Integrating Spring .NET with ASP .NET web site (將Spring.NET整合至ASP.NET Web網站中)
Spring (Spring.NET)如雷貫耳,很好很強大,這篇文章就通過樣本程式示範了將其與ASP.NET整合的方法。
配置啊配置,一大坨的設定檔慢慢寫……慢慢配置吧
[6] Developing an Application for Facebook (為Facebook開發應用程式)
非死不可(Facebook)最近如日中天,其良好的擴充性吸引了眾多開發人員的目光,更是搞出了一個名為Facebook Markup Language的語言。這篇文章用一個樣本程式示範了FBML以及非死不可應用程式的種種概念理念。茶餘飯後的時候可以隨便嘗試一下。
[7] A Step-by-Step Guide To Using MySQL with ASP.NET (一步一步學習在ASP.NET中使用MySQL)
MySQL雖說不是微軟的產品,不過其良好的效能、簡單的使用以及免費的特性(與SQL Server比起)仍舊非常吸引人。這個系列文章就介紹了在ASP.NET中使用MySQL的方法。
實際上,ASP.NET本身並沒有對資料庫有什麼硬性的規定,有了Provider,隨便一個資料庫基本上都能夠與其完美配合。不過通過這個系列文章大概瞭解一下MySQL倒是個不錯的主意:
- 第一篇文章介紹了MySQL的一些基礎知識,包括安裝、配置、建立資料庫、表等等;
- 第二篇文章介紹了在MySQL中系統管理使用者許可權,以及ASP.NET串連MySQL的一些常見操作;
- 第三篇文章介紹了開發過程中可能遇到的一些常見問題、1.1和2.0中不同的串連、處理方法等等;
- 第四篇文章介紹了使用MySQL中預存程序的方法,當前,前提是我們的MySQL必須為5.0以上版本。
不過看這架勢,作者好像還是沒有收筆的意思,讓我們繼續拭目以待吧。
[8] ASP.NET Menu and SiteMap Security Trimming (ASP.NET Menu和SiteMap根據安全性配置的自動截取)
(標題的翻譯還真是讓人頭疼)有些網站的導覽列中,匿名使用者是一個樣,登入之後多出幾個連結,若你是管理員,那麼還能有更多的選項。本來以為這些都需要手工實現,沒想到ASP.NET 2.0中已經內建了支援(孤陋寡聞了)。
只要在配置site map的時候添加這一串就好了:
<siteMap enabled="true">
<providers>
<clear/>
<add siteMapFile="Web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true"/>
</providers>
</siteMap>
隨後ASP.NET將在運行時自動檢查目前使用者的角色,然後根據設定檔中每個角色能夠訪問的不同頁面動態地決定他能夠在導覽功能表上看到哪些選項。
[9] Microsoft Web Deployment Tool - Tech Preview 1 - x86 (Microsoft Web Deployment Tool - Tech Preview 1)
這個可是微軟公司官方的一款Web應用程式的部署工具的預覽版本,絕對是雪中送炭阿!支援如下的特性:
- Synchronization and Snapshot of IIS 6.0/IIS 7.0
- Migration from IIS 6.0
- Analysis of IIS 6.0 Installed Features
- Troubleshooting and Validation Features
想使用這個東西,要滿足如下條件:
- You must be using Windows Server 2003 or Windows Server 2008.
- The .NET 2.0 Framework SP1 or greater must be installed.
- Internet Information Services 6.0 or 7.0 must be installed in order to perform operations on IIS.
- You must install the tool as an administrator. If User Access Control (UAC) is enabled, you must use the “Run as Administrator” option when installing.