【正文】
版頁合并,產(chǎn)生將母版頁的布局與內(nèi)容頁中的內(nèi)容組合在一起的輸出。 所有 代碼都經(jīng)過了編譯,可提供強類型、性能優(yōu)化和早期綁定以及其他優(yōu)點。代碼一經(jīng)編譯,公共語言運行庫會進一步將 編譯為本機代碼,從而 提供增強的性能。 包括一個編譯器,該編譯器將包括頁和控件在內(nèi)的所有應(yīng)用程序組件編譯成一個程序集,之后 宿主環(huán)境可以使用該程序集來處理用戶請求。 除了 .NET 的安全功能外, 還提供了高級的安全基礎(chǔ)結(jié)構(gòu),以便對用戶進行身份驗證和授權(quán),并執(zhí)行其他與安全相關(guān)的功能。您可以使用由 IIS 提供的 Windows 身份驗證對用戶進行身份驗證,也可以通過您自己的用戶數(shù)據(jù)庫使用 Forms 身份驗證和 成員資格來管理身份驗證。此外,可以使用 Windows 組或您自己的自定義角色數(shù)據(jù)庫(使用 角色)來管理 Web 應(yīng)用程序的功能和信息方面的授權(quán)。您可以根據(jù)應(yīng)用程序的需要方便地移除、添加或替換這些方案。 始終使用特定的 Windows 標識運行,因此,您可以通過使用 Windows 功能(例如 NTFS 訪問控制列表 (ACL)、數(shù)據(jù)庫權(quán)限等等)來保護應(yīng)用程序的安全。 提供了內(nèi)部狀態(tài)管理功能,它使您能夠存儲頁請求期間的信息,例如客戶信息或購物車的內(nèi)容。您可以保存和管理應(yīng)用程序特定、會話特定、頁特定、 用戶特定和開發(fā)人員定義的信息。此信息可以獨立于頁上的任何控件。 提供了分布式狀態(tài)功能,使您能夠管理一臺計算機或數(shù)臺計算機上同一應(yīng)用程序的多個實例的狀態(tài)信息。 通過 應(yīng)用程序使用的配置系統(tǒng),可以定義 Web 服務(wù)器、網(wǎng)站或單個應(yīng)用程序的配置設(shè)置。您可以在部署 應(yīng)用程序時定義配置設(shè)置,并且可以隨時添加或修訂配置設(shè)置,且對運行的 Web 應(yīng)用程序和服務(wù)器具有最小的影響。 配置設(shè)置存儲在基于 XML 的文件中。由于這些 XML 文件是 ASCII 文本文 件,因此對 Web 應(yīng)用程序進行配置更改比較簡單。您可以擴展配置方案,使其符合自己的要求。 包括可監(jiān)視 應(yīng)用程序的運行狀況和性能的功能。使用 運行狀況監(jiān)視可以報告關(guān)鍵事件,這些關(guān)鍵事件提供有關(guān)應(yīng)用程序的運行狀況和錯誤情況的信息。這些事件顯示診斷和監(jiān)視特征的組合,并在記錄哪些事件以及如何記錄事件等方面提供了高度的靈活性。 支持兩組可供應(yīng)用程序訪問的性能計數(shù)器: ? 系統(tǒng)性能計數(shù)器組 ? 應(yīng)用程序性能計數(shù)器組 利用運行庫調(diào)試基礎(chǔ)結(jié)構(gòu)來提供跨語言和跨計算機調(diào)試支持??梢哉{(diào)試托管和非托管對象,以及公共語言運行庫和腳本語言支持的所有語言。 此外, 頁框架提供使您可以將檢測消息插入 網(wǎng)頁的跟蹤模式。 支持 XML Web services。 XML Web services 是包含業(yè)務(wù)功能的組件,利用該業(yè)務(wù)功能,應(yīng)用程序可以使用 HTTP 和 XML 消息等標準跨越防火墻交換信息。 XML Web services 不用依靠特定的組件技術(shù)或?qū)ο笳{(diào)用約定。因此,用任 何語言編寫、使用任何組件模型并在任何操作系統(tǒng)上運行的程序,都可以訪問 XML Web services。 包括一個可擴展的宿主環(huán)境,該環(huán)境控制應(yīng)用程序的生命周期,即從用戶首次訪問此應(yīng)用程序中的資源(例如頁)到應(yīng)用程序關(guān)閉這一期間。雖然 依賴作為應(yīng)用程序宿主的 Web 服務(wù)器 (IIS),但 自身也提供 了許多宿主功能。通過 的基礎(chǔ)結(jié)構(gòu),您可以響應(yīng)應(yīng)用程序事件并創(chuàng)建自定義 HTTP 處理程序和 HTTP 模塊。 中提供了對創(chuàng)建 Web 服務(wù)器控件設(shè)計器(用于可視化設(shè)計工具,例如 Visual Studio)的增強支持。使用設(shè)計器可以為控件生成設(shè)計時用戶界面,這樣開發(fā)人員可以在可視化設(shè)計工具中配置控件的屬性和內(nèi)容。 C 是一種簡潔、類型安全的面向?qū)ο蟮恼Z言,開發(fā)人員可以使用它來構(gòu)建在 .NET Framework 上運行的各種安全、可靠的應(yīng)用程序。使用 C,您可以創(chuàng)建傳統(tǒng)的 Windows 客戶端應(yīng)用程序、 XML Web services、分布式組件、客戶端 服務(wù)器應(yīng)用程序、數(shù)據(jù)庫應(yīng)用程序以及很多其他類型的程序。 Microsoft Visual C 2020 提供高級代碼編輯器、方便的用戶界面設(shè)計器、集成調(diào)試器和許多其他工具,以在 C 語言版本 和 .NET Framework 的基礎(chǔ)上加快應(yīng)用程序的開發(fā)。 C 語法表現(xiàn)力強,只有不到 90 個關(guān)鍵字,而且簡單易學(xué)。 C 的大括號語法使任何熟悉 C、 C++ 或 Java 的人都可以立即上手。了解上述任何一種語言的開發(fā)人員通常在很短的時間內(nèi)就可以開始使用 C 高效地工作。 C 語法簡化了 C++ 的諸多復(fù)雜性,同時提供了很多強大的功能,例如可為空的值類型、枚舉、委托、 匿名方法和直接內(nèi)存訪問,這些都是 Java 所不具備的。 C 還支持泛型方法和類型,從而提供了更出色的類型安全和性能。 C 還提供了迭代器,允許集合類的實現(xiàn)者定義自定義的迭代行為,簡化了客戶端代碼對它的使用。 作為一種面向?qū)ο蟮恼Z言, C 支持封裝、繼承和多態(tài)性概念。所有的變量和方法,包括 Main 方法(應(yīng)用程序的入口點),都封裝在類定義中。類可能直接從一個父類繼承,但它可以實現(xiàn)任意數(shù)量的接口。重寫父類中的虛方法的各種方法要求 override 關(guān)鍵字作為一種避免意外重定義的方式。在 C 中,結(jié)構(gòu)類似于 一個輕量類;它是一種堆棧分配的類型,可以實現(xiàn)接口,但不支持繼承。 除了這些基本的面向?qū)ο蟮脑恚?C 還通過幾種創(chuàng)新的語言結(jié)構(gòu)加快了軟件組件的開發(fā),其中包括: ? 封裝的方法簽名(稱為委托),它實現(xiàn)了類型安全的事件通知。 ? 屬性 (Property),充當私有成員變量的訪問器。 ? 屬性 (Attribute),提供關(guān)于運行時類型的聲明性元數(shù)據(jù)。 ? 內(nèi)聯(lián) XML 文檔注釋。 在 C 中,如果需要與其他 Windows 軟件(如 COM 對象或本機 Win32 DLL)交互,可以通過一個稱為 “Interop” 的過程 來實現(xiàn)。互操作使 C 程序能夠完 成本機 C++ 應(yīng)用程序可以完成的幾乎任何任務(wù)。在直接內(nèi)存訪問必不可少的情況下, C 甚至支持指針和 “ 不安全 ” 代碼的概念。 C 的生成過程比 C 和 C++ 簡單,比 Java 更為靈活。沒有單獨的頭文件,也不要求按照特定順序聲明方法和類型。 C 源文件可以定義任意數(shù)量的類、結(jié)構(gòu)、接口和事件。 C 程序在 .NET Framework 上運行,它是 Windows 的一個必要組件,包括一個稱為公共語言運行時 (CLR) 的虛擬執(zhí)行系統(tǒng)和一組統(tǒng)一的類庫。 CLR 是 Microsoft 的公共語言基礎(chǔ)結(jié)構(gòu) (CLI) 的一個商業(yè)實現(xiàn)。 CLI 是一種國際標準,是用于創(chuàng)建語言和庫在其中無縫協(xié)同工作的執(zhí)行和開發(fā)環(huán)境的基礎(chǔ)。 用 C 編寫的源代碼被編譯為一種符合 CLI 規(guī)范的中間語言 (IL)。 IL 代碼與資源(如位圖和字符串)一起作為一種稱為程序集的可執(zhí)行文件存儲在磁盤上,通常具有的擴展名為 .exe 或 .dll。程序集包含清單,它提供關(guān)于程序集的類型、版本、區(qū)域性和安全要求等信息。 執(zhí)行 C 程序時,程序集將加載到 CLR 中,這可能會根據(jù)清單中的信息執(zhí)行不同的操作。然后 ,如果符合安全要求, CLR 執(zhí)行實時 (JIT) 編譯以將 IL 代碼轉(zhuǎn)換為本機機器指令。 CLR 還提供與自動垃圾回收、異常處理和資源管理有關(guān)的其他服務(wù)。由 CLR 執(zhí)行的代碼有時稱為 “ 托管代碼 ” ,它與編譯為面向特定系統(tǒng)的本機機器語言的 “ 非托管代碼 ” 相對應(yīng)。下圖演示了 C 源代碼文件、基類庫、程序集和 CLR 的編譯時與運行時的關(guān)系。 語言互操作性是 .NET Framework 的一個關(guān)鍵功能。因為由 C 編譯器生成的 IL 代碼符合公共類型規(guī)范 (CTS),因此從 C 生成的 IL 代碼可以與從 Visual Basic、 Visual C++、 Visual J 的 .NET 版本或者其他 20 多種符合 CTS 的語言中的任何一種生成的代碼進行交互。單一程序集可能包含用不同 .NET 語言編寫的多個模塊,并且類型可以相 互引用,就像它們是用同一種語言編寫的。 除了運行時服務(wù), .NET Framework 還包含一個由 4000 多個類組成的內(nèi)容詳盡的庫,這些類被組織為命名空間,為從文件輸入和輸出到字符串操作、到 XML 分析、到 Windows 窗體控件的所有內(nèi)容提供多種有用的功能。典型的 C 應(yīng)用程序使用 .NET Framework 類庫廣泛地處理常見的 “ 日常 ” 任務(wù)。