對系統進行需求分析后,確定了開發前景、開發意義和開發目標,接下來是選擇開發工具和相關技術來構建系統。本在線學習考試系統是基于.NET技術開發的B/S結構的應用程序。B/S架構的操作模式使得用戶無需安裝客戶端軟件,只要打開瀏覽器即可登錄到系統完成相應操作,為用戶都帶來了極大的方便。本章將相關知識的系統的設計和開發進行了研究。
1、ASP.NET技術的發展及簡介
ASP.網絡是Microsoft.ne發展的一個新的體系結構,,其新技術架構使得一部分將包括編程的每一個人的在線生活更容易。讓我們通過了解微軟.NET戰略,從而揭開ASP.NET的真實面目。
MicroSoft.NET簡介,微軟公司作為全球最大的軟件公司,在網絡經濟盛行的大環境下,為用戶提供了隨時隨刻能利用各種工具獲取網絡上的信息,享受網絡通信所帶來的快樂。為著實現這樣的目標微軟設立了.NET戰略。微軟今后發展的主要方向是網絡資源共享的開發,以及為公眾提供更豐富、有用的網絡資源和服務。微軟新一代平臺的正式名稱叫做“新一代Windows服務”,現在微軟已經給這個平臺注冊了正式的商標——MicroSoft.NET。在.NET中,微軟不僅僅是平臺和產品的開發者,并且還將作為架構服務提供商、應用程序提供商,開展全方位的Internet服務。在談及這個平臺中使用的新技術,微軟透露,它將在.NET環境中提供更多新產品和一攬子的全套服務。將側重點從連接到互聯網的單一網站或設備上,轉移到計算機、設備和服務群組上,使其通力合作,提供更廣泛更豐富的解決方案是Microsoft.NET平臺的基本思想。Microsoft.NET平臺不是像孤島那樣,由用戶提供唯一的集成。企業可以提供一種方式,允許用戶將它們的產品和服務無縫地嵌入自己的電子構架中。用戶將能夠控制信息的傳送方式、時間和內容。計算機、設備和服務將能夠相輔相成,從而提供豐富的服務。Microsoft.Net環境中的突破性改進在于:1.使用統一的Internet標準(如XML)將不同的系統對接。XML提供了一種從數據的演示視圖分離出實際數據的方式,基于HTML的顯示信息將通過可編程的基于XML的信息得到增強。這種開啟信息的方式,方便對信息進行組織、編程和編輯;可以更有效地將數據分布到不同的數字設備;允許各站點進行合作,提供一組可以相互作用的“Web服務”。2.這是Internet上首個大規模的高度分布式應用服務架構。3.使用了一個名為“聯盟”的管理程序,這個程序能全面管理平臺中運行的服務程序,并且為它們提供強大的安全保護后臺。Microsoft.NET的策略是將互聯網本身作為構建新一代操作系統的基礎,對互聯網和操作系統的設計思想進行合理延伸。這樣,開發人員必將創建出擺脫設備硬件束縛的應用程序,以便輕松實現互聯網連接。對企業而言,Microsoft.NET平臺將從根本上改進計算機和用戶之間進行交互的方式,把雇員、客戶和商務應用程序整合成一個協調的、能進行智能交互的整體,最大限度地發揮電子商務中計算技術的重要作用,而各公司無疑將是這場效率和生產力革命的最大受益者。Microsoft.NET無疑是當今計算機技術通向計算時代的一個非常重要的里程碑,將開創互聯網的新局面。
ASP.NET技術,微軟公司推出了全新的動態WEB技術開發工具ASP.net,在很多方面得到了廣泛的應用,比如網絡遠程教育、電子商務、電子政務等等。ASP.net是一種使嵌入網頁中的腳本可由因特網服務器執行的服務器端腳本技術,能讀寫服務器中的文件,訪問服務器中的數據庫,訪問服務器中的動態網頁。其尤為關鍵的是支持WEB窗體和XMLWEBService兩項技術,微軟公司在1.0版本就開始支持了XMLWEBService,2.0版本得到了更加完美的改進,支持高度分布式應用程序的開發,而WEB窗體是ASP.net技術的基礎,而WEB窗體作為基礎,在2.0版本增加了AJAX的支持、MVC架構的支持等。除此之外,ASP.NET應用程序瀏覽器具有很強的獨立性,它不用依賴于客戶端腳本,與客戶端瀏覽器和操作系統都沒有關聯,是一種建立在通用語言上的程序構架,可以使用任何基于.NET的開發語言開發ASP.NET技術的應用程序,同時能在一臺Web服務器上建立強大的Web應用程序。ASP.net技術相比現在的許多Web開發模式,它有著更強大的優勢。主要表現在以下幾方面:1、執行效率的顯著提高。ASP.net是把基于通用語言的程序在服務器上運行。不像以前的ASP即時解釋程序,而是程序在服務器端首次運行時就對其進行編譯,這樣的執行效果,當然比一條一條的解釋強的多。ASP.net動態編譯答題的執行流程是當ASP.NET收到一個基于某個頁面的請求時,先判斷這個頁面和相關的源代碼是否編譯過,如果沒有就將其編譯,如果已經編譯,就用直接生成頁面對象。2、世界級的工具支持。ASP.net構架可以使用微軟公司最新產品VisualStudio.net開發環境進行開發,實現了所見即所得的編輯環境,使得編程更加簡單易用。這些只是ASP.net強大化軟件支持的一部分。3、強大性和適應性。因為ASP.net是基于通用語言編譯運行的程序,它繼承了通用語言的強大性和適應性,因此它幾乎可以運行在Web應用軟件開發者的全部平臺上。所有通用的語言庫、數據接口處理無縫整合到ASP.net的Web應用中。同時,ASP.net也支持語言獨立化,用戶可以選擇自己擅長的語言來編寫源程序,甚至可以使用多種語言來編寫,現在已經支持的語言有C#(C++和Java的結合體)、VB.net、Jscript,這樣的多種程序語言協同工作的能力很好的保護了基于COM+開發的程序,能夠完整的向ASP.net移植。4、具有簡單性和易學性。ASP.net使運行表單的提交、客戶端的身份驗證、分布系統和網站配置等一些很平常的任務變得非常簡單。例如ASP.net頁面構架允許用戶建立不同于常見的VB-Like界面的個性的用戶分界面。另外,通用語言簡化了開發過程,使代碼結合成軟件就像裝配電腦一樣簡單。5、更具安全性。當今的網絡安全性不高,漏洞很多,連微軟的windows操作系統也不斷打補丁增強安全性,可見安全性是多么重要。而ASP.net基于Windows認證技術和應用程序配置,為WEB應用程序提供了默認的授權和身份驗證方案,開發人員可以根據應用程序的需要便捷地添加、刪除或替換這些方案,以確保源程序的絕對安全。
ASP.net工作原理,ASP.NET的工作過程就是客戶端和服務器端的交互過程,客戶端向服務器端發出請求,服務器接受到客戶端的請求后,對其請求進行處理,并將處理結果返回給客戶端的??蛻魴C訪問頁面,向IIS服務器發出WEB請求,而IIS服務器只能識別.html文件;WEB服務器根據用戶請求的頁面尋找擴展名為.aspx的指令文件,IIS服務器識別到.aspx文件;IIS服務器將.aspx的指令文件交給aspnet_isapi.dll來處理,aspnet_isapi.dll將.aspx文件對應的ASP.net代碼發送到公共語言運行時即時編譯;編譯完成后根據要求從SQL數據庫中獲取相應的數據;HTML流將運算處理好的結果返回給瀏覽器;瀏覽器處理HTML代碼并顯示頁面。值得一提的是,IIS本身是不支持動態頁面的,也就是說它僅僅支持靜態html頁面的內容,對于如.aspx,.php,.cs等格式的文件,IIS并不會處理這些標記,它只把它當作文本,絲毫不做處理發送到客戶端。為了解決這個問題。IIS有一種機制,叫做ISAPI的篩選器,它是一個標準組件(COM組件)。ASP.NET服務在注冊到IIS的時候,會把每個可以處理的文件的擴展名注冊到IIS里面(如:*.aspx,*.php等),擴展啟動后,就根據定義好的方式來處理IIS所不能處理的文件,然后把控制權跳轉到專門處理代碼的進程中(如*.aspx由aspnet_isapi.dll)進行處理。讓這個進程開始處理代碼,生成標準的HTML代碼,生成后把這些代碼加入到原有的HTML代碼中,最后把完整的HTML返回到IIS,IIS再把內容發送給客戶端。