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