【文章內(nèi)容簡介】
運(yùn)行語言是在象服務(wù)器上的 IIS 或客戶機(jī)上的 IE 之類的 unmanaged 主機(jī)過程中運(yùn)行的受控代碼。HTTP runtime 負(fù)責(zé)處理引入的所有 HTTP 請求,并對每個請求應(yīng)用程序的 URL 進(jìn)行解析,然后把請求分配到應(yīng)用程序以進(jìn)行進(jìn)一步的處理。HTTP 運(yùn)行語言是多線程的,并異步處理請求,因此劣質(zhì)的應(yīng)用程序代碼阻礙不了它對新請求的處理。而且 HTTP 運(yùn)行語言假定失敗必會發(fā)生,因此它被控制為盡最大力量自動地從訪問沖突、內(nèi)存泄漏、死鎖等事故中恢復(fù)過來。除非是硬件故障,運(yùn)行語言的目標(biāo)是 100%的可靠性。 使用基于構(gòu)件的 Microsft .NET 框架配制模板,因此它獲得了如 XCOPY 配制、構(gòu)件并行配制、基于 XML 配制等優(yōu)點(diǎn)。 另一個主要優(yōu)點(diǎn)是,它支持應(yīng)用程序的實(shí)時更新。管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運(yùn)行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠(yuǎn)不會被加鎖,因此甚至在程序運(yùn)行時文件就可以被覆蓋。當(dāng)文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本。系統(tǒng)檢測文件變化,并用新的應(yīng)用程序代碼建立一個新的應(yīng)用程序?qū)嵗?,然后將引入的請求路由到?yīng)用程序。當(dāng)所有被現(xiàn)存的應(yīng)用程序?qū)嵗幚淼奈赐瓿傻恼埱筇幚硗旰?,該?shí)例就被銷毀了。在應(yīng)用程序中,HTTP 請求是通過 HTTP 模塊的一個管道路由的,最終到達(dá)請求處理程序。HTTP 模塊和請求處理程序是一些實(shí)現(xiàn)特殊接口的受控類,而這些接口是由 定義的。這種管道結(jié)構(gòu)使得為應(yīng)用程序增加服務(wù)非常方便:只需補(bǔ)充一個 HTTP 模塊。例如,安全,狀態(tài)管理及跟蹤都被實(shí)現(xiàn)為 HTTP 模塊。高級可編程模塊, 如網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)表單,通常被實(shí)現(xiàn)為請求處理程序。一個應(yīng)用程序能鏈接與多個請求處理程序——每個處理程序一個 URL,但是所有的 HTTP 請求都通過同樣的管道路由。網(wǎng)絡(luò)基本上是一個無狀態(tài)模型,并且在 HTTP 請求間沒有聯(lián)系,這使得編寫網(wǎng)絡(luò)應(yīng)用程序很困難,因?yàn)閼?yīng)用程序通常需要維護(hù)跨多個請求的狀態(tài)。 增強(qiáng)了由 ASP 引入的狀態(tài)管理服務(wù),以便為網(wǎng)絡(luò)應(yīng)用程序提供三種類型的狀態(tài):應(yīng)用程序、會話、用戶。就像在 ASP 中一樣,應(yīng)用程序狀態(tài)特定于一個應(yīng)用程序?qū)嵗?,并且不會持久。會話狀態(tài)是特定于一個用戶與應(yīng)用程序間的會話的。與 ASP 會話狀態(tài)不同, 會話狀態(tài)儲存在一個獨(dú)立的過程中,并且可把它配制成可以儲存到一個獨(dú)立的機(jī)器上。這使得會話狀態(tài)當(dāng)應(yīng)用程序在網(wǎng)絡(luò)群(Web farm)擴(kuò)展時非常有用。用戶狀態(tài)類似于會話狀態(tài),但通常它不會超時,并且是永久性的。因此,用戶狀態(tài)對儲存用戶參數(shù)和其它個性化的信息是有用的。所有狀態(tài)管理服務(wù)都被實(shí)現(xiàn)為 HTTP 模塊,因此它們?nèi)菀自黾拥綉?yīng)用程序管道中,或從中刪除。如果除了由 提供的服務(wù)外,還需要額外的狀態(tài)管理服務(wù),那么可由第三方的模塊提供。 同樣提供高速緩沖服務(wù),以改善性能。輸出緩沖可完全節(jié)省網(wǎng)頁翻譯,段緩沖儲存部分的網(wǎng)頁。由于提供了相應(yīng)的類,所以只要需要,應(yīng)用程序、HTTP 模塊以及請求處理程序可以在高速 可編程模塊之上的兩個高級可編程模塊: 1. 網(wǎng)絡(luò)表單和 網(wǎng)絡(luò)服務(wù) 網(wǎng)絡(luò)表單網(wǎng)絡(luò)表單把基于 Visual 的優(yōu)點(diǎn)帶到了網(wǎng)絡(luò)應(yīng)用程序的開發(fā)中來。網(wǎng)絡(luò)表單支持傳統(tǒng)的將 HTML 內(nèi)容與角本代碼混合的 ASP 語法,但是它提出了一種將應(yīng)用程序代碼和用戶接口內(nèi)容分離的更加結(jié)構(gòu)化的方法。引入的網(wǎng)絡(luò)表單控件用于為封裝通用用戶接口元素提供了一種機(jī)制。這些新的特點(diǎn)使得開發(fā)工具在支持 VB 小應(yīng)用程序的同時,也支持設(shè)計時模塊,使得 WUSIWYG 工具支持網(wǎng)頁布局。網(wǎng)絡(luò)表單控件負(fù)責(zé)生成用戶接口,典型情況是在 HTML 表單中。 是提供了一套映射傳統(tǒng)的 HTML 用戶接口小部件(包括列表框,文本框和按鈕)的網(wǎng)絡(luò)表單控件和一套附加的更加復(fù)雜的網(wǎng)絡(luò)控件(如日歷和廣告轉(zhuǎn)板).這些控件的一個重要特點(diǎn)是,它們可以被編寫以適應(yīng)客戶端的能力;同一網(wǎng)頁把大范圍的客戶端平臺和表單因素作為目標(biāo)。換句話說,網(wǎng)絡(luò)表單控件能“嗅”到正在查找表單的客戶,然后返回合適的用戶經(jīng)驗(yàn)――可能是適合低級瀏覽器的 或是適于 的動態(tài) HTML??紤]到網(wǎng)絡(luò)是一種無狀態(tài)的聯(lián)接模型,網(wǎng)絡(luò)應(yīng)用程序開發(fā)人員所面臨的一個很復(fù)雜的問題是,他們要對用戶與基于網(wǎng)絡(luò)的接口的交互作用作出反應(yīng)。網(wǎng)絡(luò)利用 的體系架構(gòu)提供了一套豐富的服務(wù),以幫助開發(fā)人員建立交互式網(wǎng)頁。這些服務(wù)的凈作用是使基于組件的、事件驅(qū)動的可編程模塊,對開發(fā)人員來說,非常象客戶端的表單程序設(shè)計。用戶與網(wǎng)頁交互作用的狀態(tài)管理的復(fù)雜性被 網(wǎng)絡(luò)表單和網(wǎng)絡(luò)表單控件隱藏起來了。對開發(fā)人員來說,提供的豐富數(shù)據(jù)綁定服務(wù)使得顯示通過數(shù)據(jù)訪問服務(wù)得到的數(shù)據(jù)變得非常容易。代碼與內(nèi)容的分離使 網(wǎng)頁能動態(tài)地編譯到受控類中,用以提高性能。每個引入的 HTTP 請求都被傳遞到一個新的網(wǎng)頁實(shí)例,因此開發(fā)人員不需要關(guān)心代碼中的線程安全性。2. 網(wǎng)絡(luò)服務(wù) 網(wǎng)絡(luò)服務(wù)體系架構(gòu)為用 建立網(wǎng)絡(luò)服務(wù)提供了一高級可編程模板。雖然建立網(wǎng)絡(luò)服務(wù)并不需要使用網(wǎng)絡(luò)服務(wù)平臺,但是它提供許多的優(yōu)點(diǎn)將簡化開發(fā)過程,并且它使用的編程模型對用 ASP 或 VB 工作的開發(fā)人員來說是很熟悉的。使用這個可編程模型,開發(fā)人員不需要理解HTTP、SOAP 或其它任何網(wǎng)絡(luò)服務(wù)規(guī)范。開發(fā)人員用 生成一個擴(kuò) 的文件,并把此文件配制為網(wǎng)絡(luò)應(yīng)用程序的一部分,就建立起了一個網(wǎng)絡(luò)服務(wù)。ASMX 文件或者包含對在其它地方定義的受控類的引用,或者包含這個類的定義。這個類是由 提供的 WebService 類所派生。公有的類方法在標(biāo)記上 WebMethod 屬性后,就會成為網(wǎng)絡(luò)服務(wù)方法,把 HTTP 請求發(fā)送到 ASMX 文件中的 URL 后,這些方法就會被調(diào)用。你不必手工為你的網(wǎng)絡(luò)服務(wù)建立一個契約。當(dāng)被調(diào)用者請求時, 檢查類的元數(shù)據(jù),以自動生成 SCL 文件。客戶可通過 SOAP,HTTP GET 和HTTP POST 提交請求。對方法和參數(shù)進(jìn)行編碼的約定是:對 HTTP GET,將被編碼為查詢字符串;對 HTTP POST,將被編碼為表單數(shù)據(jù)。HTTP GET 和 HTTP POST 的機(jī)制不如 SOAP 有力,但是它們使得客戶在訪問網(wǎng)絡(luò)服務(wù)時不必支持 SOAP。 網(wǎng)絡(luò)服務(wù)模型假定了一個無狀態(tài)服務(wù)結(jié)構(gòu)。無狀態(tài)結(jié)構(gòu)通常比有狀態(tài)結(jié)構(gòu)更具可擴(kuò)展性。每次收到一個服務(wù)請求后,就生成一個新對象,請求被轉(zhuǎn)化為一個方法調(diào)用,當(dāng)方法調(diào)用返回時對象被銷毀。如果這些服務(wù)需要跨請求維護(hù)狀態(tài),那么它們將使用 狀態(tài)管理服務(wù)?;? 的網(wǎng)絡(luò)服務(wù)在網(wǎng)絡(luò)應(yīng)用程序模型中運(yùn)行,因此它們得到了該模型的所有安全、配制和其它優(yōu)點(diǎn)。 網(wǎng)絡(luò)服務(wù)還提供了一個為在 SCL 文件中描述的網(wǎng)絡(luò)服務(wù)生成分類的受控代理工具。代理生成器把 SCL 文件中描述的消息映射成受控類中的方法。代理對應(yīng)用程序代碼隱藏了所有的網(wǎng)絡(luò)和引導(dǎo)設(shè)備,因此使用網(wǎng)絡(luò)服務(wù)看起來就像使用其它受控代碼一樣。代理將優(yōu)先使用 SOAP 鏈接網(wǎng)絡(luò)服務(wù),但是它同樣支持 HTTP GET 和 HTTP POST 機(jī)制。因此 HTTP GET 和 HTTP POST 同樣也能被使用。網(wǎng)絡(luò)服務(wù)為在 Inter 上綁定應(yīng)用程序提供了一個利用現(xiàn)存體系架構(gòu)和應(yīng)用程序的簡單的、靈活的、基于許多標(biāo)準(zhǔn)的模型。網(wǎng)絡(luò)應(yīng)用程序很容易與當(dāng)?shù)亻_發(fā)的服務(wù)或已存在的服務(wù)集成在一起,而不用考慮開發(fā)平臺、開發(fā)語言或使用的對象模型,以用于實(shí)現(xiàn)任何組成的服務(wù)或應(yīng)用程序。Microsft .NET 框架在現(xiàn)有開發(fā)人員技巧之上,提供了一個應(yīng)用程序模板和關(guān)鍵技術(shù),用于簡化安全、可靠、可擴(kuò)展、高可用性的網(wǎng)絡(luò)服務(wù)的建立、部署和不斷的發(fā)展。通過上面的介紹,我們能夠感覺到 MicroSoft .NET 對于我們今后的程序設(shè)計將產(chǎn)生巨大的影響。 SQL Server 2022 技術(shù)簡介SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)它最初是由 Microsoft Sybase 和 AshtonTate 三家公司共同開發(fā)的于 1988 年推出了第一個OS/2 版本在 Windows NT 推出后 Microsoft 與 Sybase 在 SQL Server 的開發(fā)上就分道揚(yáng)鑣了 Microsoft 將 SQL Server 移植到 Windows NT 系統(tǒng)上專注于開發(fā)推廣 SQL Server 的 Windows NT 版本 Sybase 則較專注于SQL Server 在 UNIX 操作系統(tǒng)上的應(yīng)用在本書中介紹的是 Microsoft SQL Server 以后簡稱為 SQL Server 或 MS SQL Server SQL Server 2022 是 Microsoft 公司推出的 SQL Server 數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了 SQL Server 版本的優(yōu)點(diǎn)同時又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)可跨越從運(yùn)行 Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2022 的大型多處理器的服務(wù)器等多種平臺使用.SQL Server 2022 提供了以 Web 標(biāo)準(zhǔn)為基礎(chǔ)的擴(kuò)展數(shù)據(jù)庫編程功能。豐富的 XML 和 Inter 標(biāo)準(zhǔn)支持允許您使用內(nèi)置的存儲過程以 XML 格式輕松存儲和檢索數(shù)據(jù)。您還可以使用 XML 更新程序容易地插入、更新和刪除數(shù)據(jù)。SQL Server 2022 有如下特點(diǎn):(1)通過 Web 輕松訪問數(shù)據(jù)。有了 SQL Server 2022,您可以使用 HTTP 來向數(shù)據(jù)庫發(fā)送查詢、對數(shù)據(jù)庫中存儲的文檔執(zhí)行全文搜索、以及通過 Web 進(jìn)行自然語言查詢。 (2)強(qiáng)大而靈活的基于 Web 的分析。SQL Server 2022 分析服務(wù)功能被擴(kuò)展到了 Inter。您可以通過 Web 瀏覽器來訪問和控制多維數(shù)據(jù)。 (3)高度的可伸縮性和可靠性 。使用 SQL Server 2022 可以獲得非凡的可伸縮性和可靠性。通過向上伸縮和向外擴(kuò)展的能力,SQL Server 滿足了苛刻的電子商務(wù)和企業(yè)應(yīng)用程序要求。(4)向上伸縮。SQL Server 2022 利用了對稱多處理器 (SMP) 系統(tǒng)。SQLServer Enterprise Edition 最多可以使用 32 個處理器和 64GB RAM (5)向外擴(kuò)展。向外擴(kuò)展可以將數(shù)據(jù)庫和數(shù)據(jù)負(fù)載分配給多臺服務(wù)器。 (6)可用性。通過增強(qiáng)的故障轉(zhuǎn)移群集、日志傳送和新增的備份策略,SQL Server 2022 達(dá)到了最大的可用性。 (7)最快的進(jìn)入市場時間。 SQL Server 2022 是 Microsoft .NET Enterprise Server 的數(shù)據(jù)管理與分析中樞。SQL Server 2022 包括加速從概念到最后交付開發(fā)過程的工具。(8)集成和可擴(kuò)展的分析服務(wù)。有了 SQL Server 2022,您可以建立帶有集成工具的端到端分析解決方案,從數(shù)據(jù)創(chuàng)造價值。此外,還可以根據(jù)分析結(jié)果自動驅(qū)動商業(yè)過程以及從最復(fù)雜的計算靈活地檢索自定義結(jié)果集。 (9)快速開發(fā)、調(diào)試和數(shù)據(jù)轉(zhuǎn)換。SQL Server 2022 帶有交互式調(diào)節(jié)和調(diào)試查詢、從任何數(shù)據(jù)源快速移動和轉(zhuǎn)化數(shù)據(jù)、以及按 TransactSQL 方式定義和使用函數(shù)等功能。您可以從任意 Visual Studio 工具以可視化方式設(shè)計和編寫數(shù)據(jù)庫應(yīng)用程序。 (10)簡化的管理和調(diào)節(jié)。使用 SQL Server 2022,您可以很容易地在企業(yè)資源旁邊集中管理數(shù)據(jù)庫??梢栽诒3致?lián)機(jī)的同時輕松地在計算機(jī)間或?qū)嵗g移動和復(fù)制數(shù)據(jù)庫。 Visual Studio 2022 技術(shù)簡介Microsoft Visual Studio 2022 Team System 提供支持整個軟件開發(fā)團(tuán)隊的工具: 架構(gòu)師:Visual Studio 2022 Team Architect Edition 包括集成、高效的工具,用于直觀地構(gòu)建面向服務(wù)的解決方案,這些解決方案從部署環(huán)境的初始狀態(tài)開始設(shè)計。有關(guān)詳細(xì)信息,請參閱 Visual Studio 2022 Team System:設(shè)計分布式系統(tǒng)以進(jìn)行部署。 開發(fā)人員:Visual Studio 2022 Team Developer Edition 為開發(fā)人員提供高級的靜態(tài)分析、代碼剖析、代碼涵蓋以及單元測試工具,使團(tuán)隊能夠在整個生命周期中盡早、頻繁地規(guī)劃質(zhì)量。有關(guān)詳細(xì)信息,請參閱 Visual Studio 2022 Team System:構(gòu)建健壯而可靠的軟件。 測試人員:Visual Studio 2022 Team Test Edition 構(gòu)建于開發(fā)人員版本之上,更好地為測試人員提供了用于管理和運(yùn)行各種測試(包括單元測試、手工測試和 Web 測試)的工具,以及使團(tuán)隊能夠在應(yīng)用程序部署之前檢驗(yàn)其性能的高級負(fù)載測試工具。有關(guān)詳細(xì)信息,請參閱 Visual Studio 2022 Team System:通過更完善的測試實(shí)現(xiàn)更好的軟件。 項目管理人員:Visual Studio 2022 Team Foundation 提供一套基于軟件項目管理人員已知內(nèi)容的項目管理工具:Microsoft Excel、Microsoft Project 和 Windows SharePoint Services。與 Microsoft Office 集成,項目管理人員不再需要手工將數(shù)據(jù)從這些應(yīng)用程序映射到供工程團(tuán)隊使用的數(shù)據(jù)。項目站點(diǎn)提供儀表盤式的項目狀態(tài)視圖,以及向下追溯風(fēng)險承擔(dān)者的功能。豐富的報告提供了從整個常規(guī)的團(tuán)隊工作流中收集的規(guī)則。自定義項目過程基于