VSTO 2005 版為基于 Microsoft Office Excel 2003 和 Microsoft Office Word 2003 的業務解決方案的開發提供重大的增強。根據該版本 VSTO 提供的基礎,Visual Studio 2005 Tool for Office 將解決 Office 解決方案開發人員目前面臨的一些最大的難題,包括數據和視圖元素的分隔、Office 解決方案程序集的部署、服務器端和脫機方案以及與 Visual Studio 工具集的無縫集成。
VSTO 2005 的主要目標之一是在 Office 文檔中分隔“數據”和“視圖”,以便簡化基于 Office 的解決方案的創建。目前,Excel 電子表格和 Word 文檔,由單元格值/文本(表示數據)以及字體等與數據有關的描述性信息(表示視圖)組成。因為 Word 和 Excel 不具有內置的編程數據概念,所以開發人員將受到文檔中存儲的數據有效開發解決方案的能力的制約。
VSTO 2005 將通過使數據能夠作為 XML 數據島嵌入來在 Office 文檔中分隔數據和視圖。這提供了一種開發人員在編程時可依靠的,易于理解且易于解決的結構。開發人員能夠分隔視圖和數據,因而能夠直接更新數據,而無需考慮視圖代碼的編寫。類型化數據集用來于提供面向架構的編程模型,該編程模型用于與數據島進行交互以確保編寫對托管代碼的智能感知支持。將在數據島和視圖之間使用數據綁定,以使這兩個實體保持同步。開發人員還能向數據添加獨立于文檔視圖組件的驗證代碼。
借助于基于 XML 架構的模型直接對數據進行編程,開發人員可以顯著提高工作效率。處理數據的代碼無需考慮 Excel 和 Word 對象模型。這簡化了在生成 Office 解決方案的過程中涉及的大量代碼,并且使解決方案保持對文檔中更改的彈性。產生代碼的易損壞性降低了,因為它不需要過度依賴于對最終用戶可以任意移動的特定單元格、范圍和表的引用。相反,托管代碼直接訪問 XML 數據島。
在 Office 文檔中,使數據成為透明的、可直接訪問的組件能夠帶來新的服務器端機遇。首先,無需啟動 Office 應用程序即可操作該文檔中嵌入的數據島。與當前模型(為使代碼能夠操作文檔、Excel 或 Word 的內容必須按照該模型運行)相比,這是一項巨大的轉變。這一限制使很多客戶無法實現從 ASP.NET 應用程序內創建 Office 文檔的常見解決方案要求。
相比之下,VSTO 2005 運行庫將支持服務器上的實例化,而無需運行 Excel 或 Word。這樣,就可以從服務器端代碼操作文檔中的數據島。當打開關聯的 Office 文檔時,視圖與數據島重新同步,并且將自動向用戶呈現經過更新的數據。在該模型中,不需要使用 Excel 和 Word 對服務器上的數據進行寫操作,而只需使用它們查看客戶端上的數據。這一經過更新的模型將為客戶提供所需的可伸縮性,以及對包含服務器上數據島的文檔執行高性能批處理的能力。
將數據存儲到數據島中還能夠提供一種機制,以實現可靠的脫機方案。當從服務器首次請求文檔或用戶首次打開文檔時,將用最新的數據填充數據島。然后,在文檔中緩存該數據島并使其可以脫機使用。用戶和代碼無需活動連接即可操作這些數據。當用戶重新連接時,可將對數據進行的更改回傳到服務器數據源。
除根本改進數據編程模型以外,VSTO 2005 版還引入對開發人員以編程方式訪問用戶界面或視圖、元素(例如,范圍、列表和書簽)方式的增強。即使開發人員目前可以編寫代碼來操作上述元素,他們仍然會受到 Office 對象模型公開事件、屬性和方法的程度的影響。例如,Excel 對象模型提供 WorkSheet_Change 事件,但沒有為單個單元格或范圍提供類似的事件,因此需要編寫附加代碼來處理對特定元素進行的更改。VSTO 2005 在視圖元素領域引入了對 Excel 和 Word 對象模型的增強。元素(例如,單元格、范圍、列表和書簽)將成為可在代碼中輕松訪問的一流控件。每個控件都將唯一標識,都將啟用數據綁定,并且都將提供更為完整的事件模型。
VSTO 2005 還將 Excel 和 Word 與 Visual Studio 進行集成,從而在生成 Office 解決方案時,削弱目前存在的障礙。目前,開發人員在 Visual Studio .NET 中編寫托管代碼。然后,他們必須切換到 Excel 或 Word 來創建用戶界面。在 VSTO 2005 中,Excel 和 Word 將直接作為設計器駐留在 Visual Studio 2005 IDE 中(圖 17)。開發人員能夠使用 Excel 和 Word 中的完整 Windows 窗體控件集合,僅通過從工具箱中拖放托管控件(包括第三方控件)在 Visual Studio 環境中設計 Office 文檔。按照預期,雙擊 Excel 或 Word 中的托管控件將調用代碼視圖,從而可在該控件的自動生成事件處理程序中編寫自定義。
駐留在 Word 和 Excel 文檔中的托管控件與 Visual Studio IDE 中的 Excel 和 Word 集成相結合,將減少目前在 Office 解決方案開發以及基于 Windows 和 Web 的解決方案開發之間存在的差異。
SQL Server 2005 解決方案開發
Microsoft 計劃將其開發人員工具的未來版本與重要的平臺里程碑進行協調,作為該計劃的一部分,Visual Studio 2005 將為 SQL Server 2005 提供深度的集成和支持。SQL Server 2005 將 CLR 功能合并到其數據庫引擎,以便帶來數據庫和工具之間新的集成級別,從而減少在開發數據中心應用程序時的代碼和工作量。
首先,SQL Server 2005 將引入在托管代碼中創建數據庫對象的功能。這使開發人員能夠使用 Visual Basic、Visual C++ 和 Visual C# 等語言生成 SQL Server 過程化對象,包括函數、存儲過程和觸發器。此外,開發人員能夠使用托管代碼來生成 SQL Server 2005 中引入的新 SQL Server 對象,包括用戶定義的類型和聚合。因此,使用 Visual Studio 2005 的開發團隊不僅可創建和調試分布式應用程序的表示形式和中間層,而且可以創建和調試組成數據層的數據庫對象。此外,.NET 語言將在很多方面比傳統的 Transact-SQL 更為豐富,并且通過 SQL 開發人員以前不可用的構造和功能提供了增強的編程模型。
其次,用托管代碼編寫的數據庫對象將提供增強的安全性。因為這些數據庫對象將在數據庫引擎中承載的 CLR 環境中運行,所以它們將在細粒度的 CLR 安全模型的上下文中進行操作。本質上,該模型比較低版本 SQL Server 中提供的擴展存儲過程更為安全。它還賦予管理員更大的控制權,以便在試圖訪問或操作 SQL Server 2005 內部或外部資源時,為代碼定義一組允許的操作。
最后,使用托管語言生成 SQL Server 2005 數據庫對象通常會在性能和可伸縮性方面產生可觀的收益。由于 Visual Studio 2005 語言編譯器和執行模型中內置的優化,用托管代碼編寫的數據庫對象(例如,存儲過程、函數和觸發器)將在很多情況下能提供比 T-SQL 更好的性能。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
