十月新增中文版示例:
CSAutomateWord/VBAutomateWord
CSAutomateWord案例闡述了如何使用Visual C#代碼生成Microsoft Word 實(shí)例,構(gòu)建新的Word文檔,插入段落、表格,保存文檔,關(guān)閉Word應(yīng)用程序及釋放非托管COM資源的過程。 Office 自動化建立在組件對象模型(COM)的基礎(chǔ)上。當(dāng)從托管代碼中調(diào)用Office相關(guān)的COM對象時(shí),將自動生成一個運(yùn)行庫可調(diào)用包裝(RCW)。RCW掌管.NET應(yīng)用程序與COM對象間的調(diào)用,它保存對COM對象進(jìn)行引用的數(shù)量值。 如果RCW上并非所有的引用都被釋放,那么Office的COM對象將不會退出,這也將導(dǎo)致Office應(yīng)用程序在自動化運(yùn)行后無法終止。為了確保Office應(yīng)用程序完全退出,示例提供了兩種解決方案。
解決方案1. AutomateWord 通過Microsoft Word主要的互用組件(PIA)自動化Word應(yīng)用程序,并且將每個COM訪問對象分配給一個新的變量,使用戶最終可以通過調(diào)用Marshal.FinalReleaseComObject方法釋放這些變量。
解決方案2. AutomateWord 通過Microsoft Word主要的互用組件(PIA)自動化Word應(yīng)用程序,在自動化方法退出堆棧后執(zhí)行垃圾收集器(此時(shí)RCW對象不再被引用),從而清除RCW并釋放COM對象。
----------------------------------
CppCreateLowIntegrityProcess/CSCreateLowIntegrityProcess/VBCreateLowIntegrityProcess
這個代碼示例演示了如何啟動一個低完整性進(jìn)程。當(dāng)你點(diǎn)擊本程序中“以低完整等級執(zhí)行本程序”按鈕,此應(yīng)用程序使用低完整性再次啟動一個本程序?qū)嵗5屯暾赃M(jìn)程只能在低完整性區(qū)域內(nèi)寫入數(shù)據(jù),比如%USERPROFILE%\AppData\LocalLow文件夾或者注冊表中的HKEY_CURRENT_USER\Software\AppDataLow鍵值。即使當(dāng)前用戶的SID在自由訪問控制列表(discretionary access control list)中擁有寫入權(quán)限,如果你想要訪問一個完整性高的對象,你也將會收到一個無法訪問的錯誤。默認(rèn)情況下,子進(jìn)程繼承其父進(jìn)程的完整性等級。要啟動一個低完整性進(jìn)程,你必須使用CreateProcessAsUser和低完整性訪問令牌啟動一個新的子進(jìn)程。詳細(xì)信息請參考示例CreateLowIntegrityProcess中的相關(guān)函數(shù)。
----------------------------------
CSSL4WCFNetTcp/VBSL4WCFNetTcp
Silverlight4支持netTcpBinding,這給我們提供了一個調(diào)用WCF雙向通信的新途徑。在這個示例中,我們創(chuàng)建了一個簡單的天氣預(yù)報(bào)應(yīng)用來演示怎樣在Silverlight中應(yīng)用netTcp WCF。
----------------------------------
CSASPNETMenu/VBASPNETMenu
這個示例展示了如何綁定 ASP.NET 菜單控件到數(shù)據(jù)庫. 所有菜單的內(nèi)容都是動態(tài)生成的, 如果我們需要在網(wǎng)站中添加新的導(dǎo)航項(xiàng), 我們只需要數(shù)據(jù)庫中添加或修改相應(yīng)的數(shù)據(jù).這使我們非常方便的完成了一個菜單模塊.
----------------------------------
CSASPNETSendMail
CSASPNETSendMail示例如何通過System.Net.Mail收發(fā)郵件。
----------------------------------
CSEFForeignKeyAssociation/VBEFForeignKeyAssociation
示例展示了Entity Framework(EF) 4.0的一個新特性,F(xiàn)oreign Key Association。此示例比較了新的Foreign Key Association和Independent Association,并且展示了怎樣插入一個新的關(guān)聯(lián)實(shí)體,通過兩個關(guān)聯(lián)插入已存在的實(shí)體和更新已存在實(shí)體。