C# 創(chuàng)建使用存儲(chǔ)容器的ASP.NET 4.7網(wǎng)站
Web應(yīng)用程序讓W(xué)eb服務(wù)器向客戶端發(fā)送HTML代碼。這些代碼顯示在Web瀏覽器上,例如Microsoft Edge 或GoogleChrome。當(dāng)用戶在瀏覽器中輸入U(xiǎn)RL字符串時(shí),HTTP請(qǐng)求會(huì)被發(fā)送到Web服務(wù)器。HTTP請(qǐng)求包 含所請(qǐng)求的文件名和其他信息,比如識(shí)別應(yīng)用程序的字符串、客戶端支持的語(yǔ)言以及屬于請(qǐng)求的其他數(shù)據(jù)。Web服務(wù)器返回一個(gè)包含HTML代碼的HTTP響應(yīng),這些代碼由Web瀏覽器解釋?zhuān)蛴脩麸@示文本框、按鈕和列表。
ASP.NET是一種用服務(wù)器端代碼動(dòng)態(tài)創(chuàng)建Web頁(yè)面的技術(shù)。這些Web頁(yè)面的開(kāi)發(fā)方式與客戶端Windows程序具有諸多相似之處。如果不直接處理HTTP請(qǐng)求和響應(yīng),手動(dòng)創(chuàng)建發(fā)送到客戶端的HTML代碼,還可以使用創(chuàng)建 HTML 代碼的控件,例如 TextBox、Label、ComboBox 和 Calendar。
為給客戶端系統(tǒng)上的Web應(yīng)用程序使用ASP.NET,只需要一個(gè)簡(jiǎn)單的Web瀏覽器??墒褂肐nternet Explorer, Microsoft Edge、Google Chrome、Firefox或其他任何支持HTML的Web瀏覽器??蛻舳讼到y(tǒng)不需要安裝.NET。
在服務(wù)器系統(tǒng)上,需要ASRNET運(yùn)行庫(kù)。如果系統(tǒng)上有IIS,安裝.NET Framework時(shí)就會(huì)用服務(wù)器配置 ASP.NET運(yùn)行庫(kù)。在開(kāi)發(fā)期間,不需要使用IIS,因?yàn)閂isual Studio提供了自己的ASRNET Web開(kāi)發(fā)服務(wù)器,可以用它測(cè)試和調(diào)試應(yīng)用程序。
為理解ASRNET運(yùn)行庫(kù)是如何工作的,考慮一個(gè)來(lái)自瀏覽器的典型Web請(qǐng)求(見(jiàn)下圖)??蛻舳讼蚍?wù)器請(qǐng)求一個(gè)文件,如defkiltaspx或defkiltcshtml。ASP.NETWeb窗體頁(yè)面通常的文件擴(kuò)展名是.aspx(盡管ASRNET MVC沒(méi)有特定的文件擴(kuò)展名),而.cshtml用于基于Razor的網(wǎng)站。因?yàn)檫@些文件的擴(kuò)展名用IIS注冊(cè),或者ASRNET Web開(kāi)發(fā)服務(wù)器能識(shí)別它們,所以ASP.NET運(yùn)行庫(kù)和ASRNET工作進(jìn)程會(huì)啟動(dòng)。US工作進(jìn)程被命名為w3wp.exe,駐留在Web服務(wù)器的應(yīng)用程序上。第一次請(qǐng)求defkult.cshtml時(shí),啟動(dòng)ASRNET解析器,編譯器編譯文件和C#代碼,這些CS代碼與.cshtml文件相關(guān),并創(chuàng)建一個(gè)程序集。然后.NET運(yùn)行庫(kù)的J1T編譯器 把程序集編譯為本機(jī)代碼。之后銷(xiāo)毀Page對(duì)象。但程序集保留下來(lái),用于后續(xù)請(qǐng)求,所以沒(méi)必要再次編譯程序集。
點(diǎn)擊加載更多評(píng)論>>