微軟一站式開發(fā)技術框架2010年5月31日更新。
下載地址:
http://1code.codeplex.com/releases/view/46212#DownloadId=124539
如果您是第一次聽說All-In-One Code Framework這個項目,請參閱主頁上的相關介紹http://1code.codeplex.com/, 以及這兩篇blog
All-In-One Code Framework:一站式微軟開發(fā)技術框架解決方案
微軟一站式開發(fā)技術框架解決方案 中文說明
在這次release中,我們除了新加了不少示例代碼,還應園子里朋友們的建議,對每個編程語言增加了該語言的示例包。比如對于Silverlight 示例包:All-In-One Silverlight Samples.sln,我們增加了C# 包:All-In-One Silverlight Samples (C#).sln, VB.NET包:All-In-One Silverlight Samples (VB.NET).sln。
Azure 新示例
CSAzureTableStoragePaging, VBAzureTableStoragePaging
我們經常需要在使用Table Storage的時候同時使用分頁功能。然而,因為當前Table Storage的功能限制,我們只能使用繼續(xù)令牌來實現(xiàn)簡單的前一頁/后一頁分頁。這個例子示范了如何在一個MVC程序中實現(xiàn)Table Storage的該分頁功能。
ASP.NET 新示例
CSASPNETMVCPager
這個例子介紹了如何通過自定義htmlhelper擴展方法來實現(xiàn)分頁。
在這個例子中我們首先定義了一個Pager的泛型類,該類用來初始化分頁的一些基本屬性,如總頁數(shù),每頁顯示多少記錄等。接著我們在CustomizePager類中定義了一個htmlhelper擴展方法,該方法用于輸出頁碼。
Silverlight 4 新示例
CSSL4COMInterop, VBSL4COMInterop
CSSL4COMInterop和VBSL4COMInterop 示例展示了Silverlight4的一個新特性: COM交互。示例程序通過使用AutomationFactory類,將數(shù)據(jù)導出到notepad或 MS Word并打印。
Windows 7 新示例
CppWin7MultiTouch
本示例演示如何使用Windows 7的多點觸摸功能創(chuàng)建一個簡單但是現(xiàn)代化的圖片瀏覽器。你可以用手指對圖片進行平移,縮放,旋轉,以及傾斜。圖片本身使用Windows 7的新技術:Direct2D和WIC來顯示。
假如你沒有觸摸屏,也可以使用ribbon上的命令和圖片進行簡單的互動。為了保持示例代碼的簡潔性,本示例并未實現(xiàn)在諸如Expression Design中可以找到的復雜的鼠標交互功能。
CSWPF3DMultiTouch, VBWPF3DMultiTouch
本示例演示如何使用WPF 4的多點觸摸功能操作一個3D場景。它繪制了一個地球。你可以用手指讓地球沿任意方向旋轉(并不只是沿經緯度旋轉)。你也可以使用標準的縮放手勢來縮放地球。如果你點中了一個Windows Azure的數(shù)據(jù)中心,一條提示消息會顯示出來。
假如你沒有觸摸屏,也可以使用鼠標來模擬操作。在示例源代碼中,你將發(fā)現(xiàn)事實上使用WPF的manipulation framework實現(xiàn)多點觸摸實要比處理鼠標事件還要簡單。
WPF 新示例
CSWPFNavigationUsage
這個例子展示了在WPF應用程序中如何實現(xiàn)瀏覽。
Data Platform 新示例
CSEFLazyLoading, VBEFLazyLoading
CSEFLazyLoading和VBEFLazyLoading向您展示了如何使用Lazy Loading這一EF4中新增的特性。同時這兩個示例也展示了如何使用我們在EF1中早已使用的eager loading和explicit loading,并且對這三種導入相關實體的方法進行了比較。
.NET CLR 4 新示例
CppHostCLR, CSClassLibrary, CSNET2ClassLibrary
.NET 4的CLR引入了in-process side-by-side的新特性。允許你在同一個進程內host多個CLR。CppHostCLR演示了如何在一個native C++的程序里使用CLR 4 的CLR Hosting API, 在一個進程內,載入CLR 4和CLR 2,并在兩個CLR內分別調用一個.NET 2.0的class library (CSNET2ClassLibrary)。
Windows Forms 新示例
CSWinFormTreeViewTraversal, VBWinFormTreeViewTraversal
這個示例演示了如何遍歷TreeView控件并找尋特定的結點。 有時候我們有列出一棵樹的所有節(jié)點以及查詢某個特定節(jié)點的需求。 示例中有一個算法使用了非遞歸方式來完成這個任務。具體請看FindNode方法的代碼邏輯。
CSWinFormDesignerCodeDom, VBWinFormDesignerCodeDom
這個示例演示了如何為控件添加你自己的生成代碼。
在這個示例中,如果我們不進行代碼自定義,系統(tǒng)將對MyList屬性生成如下代碼
this.myComponent1.MyList =
((System.Collections.Generic.List<string>)(resources.GetObject("myComponent1.MyList")));
But now we want the code with following format
this.myComponent1.MyList.Add("string5");
this.myComponent1.MyList.Add("string4");
this.myComponent1.MyList.Add("string3");
this.myComponent1.MyList.Add("string2");
this.myComponent1.MyList.Add("string1");
但現(xiàn)在我們希望Visual Studio可以生成以下格式的代碼
this.myComponent1.MyList.Add("string5");
this.myComponent1.MyList.Add("string4");
this.myComponent1.MyList.Add("string3");
this.myComponent1.MyList.Add("string2");
this.myComponent1.MyList.Add("string1");
在這里,我們創(chuàng)建了CodeDomSerializer的繼承類MyCodeGenerator來完成這個任務。請參看CodeGenerator.cs/CodeGenerator.vb來得到具體信息。
Windows Service 新示例
CppInteractiveWindowsService
該示例演示了Windows Service和用戶session 交互的正確做法。Windows Vista 引入了session 0 isolation的概念。運行在Windows Vista和更新的操作系統(tǒng)上的Windows Service便不能直接和用戶交互了。如果你的service非得要和用戶交互,推薦的方法有如下兩個:
1. 調用WTSSendMessage在用戶session里顯示一個對話框。
2. 通過調用CreateProcessAsUser在用戶session里創(chuàng)建一個新的可交互的進程。該進程再和Windows Service進行進程間通信。
CppInteractiveWindowsService便是演示了上述兩種solution。
最后,如果您對新版的All-In-One Code Framework有任何建議和反饋,請在此提出或發(fā)郵件至onecode@microsoft.com 。謝謝!