版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.net面試題選擇題1. 以下敘述正確的是:(BC) A. 接口中可以有虛方法B. 一個類可以實現(xiàn)多個接口C. 接口不能被實例化D. 接口中可以包含已實現(xiàn)的方法 2. 從數據庫讀取記錄,你可能用到的方法有:(BCD) A. ExecuteNonQueryB. ExecuteScalarC. FillD. ExecuteReader3. 以下關于ref和out的描述哪些項是正確的?(多選) (ACD) A. 使用ref參數,傳遞到ref參數的參數必須最先初始化 B. 使用out參數,傳遞到out參數的參數必須最先初始化 C. 使用ref參數,必須將參數作為ref參數顯式傳遞到方法 D. 使用ou
2、t參數,必須將參數作為out參數顯式傳遞到方法4. 在對SQL Server 數據庫操作時應選用 (A) A. SQL Server .NET Framework 數據提供程序B. OLE DB .NET Framework 數據提供程序C. ODBC .NET Framework 數據提供程序D. Oracle .NET Framework數據提供程序5. 下列選項中,(C) 是引用類型A. enum類型B. struct類型C. string類型D. int類型6. 關于ASP.NET中的代碼隱藏文件的描述正確的是 (C)A. Web窗體頁的程序的邏輯由代碼組成,這些代碼的創(chuàng)建用于與窗體交
3、互。編程邏輯唯一與用戶界面不同的文件中。該文件稱作為代碼隱藏文件,如果用C創(chuàng)建,該文件將具有.ascx.cs擴展名B. 項目中所有Web窗體頁的代碼隱藏文件都被編譯成.EXE文件C. 項目中所有的Web窗體頁的代碼隱藏文件都被編譯成項目動態(tài)鏈接庫 (.dll)文件D. 以上都不正確7. 以下描述錯誤的是 (A)A. 在C+中支持抽象類而在C#中不支持抽象類B. C+中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件并且在同一處聲明和定義類的成員C. 在C#中可使用 new 修飾符顯式隱藏從基類繼承的成員D. 在C#中要在派生類中重新定義基類的虛函數必須在前面加Overr
4、ide8. C#的數據類型有 (A)A. 值類型和調用類型; B. 值類型和引用類型;C. 引用類型和關系類型;D. 關系類型和調用類型;9. 下列描述錯誤的是 (D)A. 類不可以多重繼承而接口可以B. 抽象類自身可以定義成員而接口不可以C. 抽象類和接口都不能被實例化D. 一個類可以有多個基類和多個基接口10. 下列關于構造函數的描述正確的是 (C)A. 構造函數可以聲明返回類型。B. 構造函數不可以用private修飾C. 構造函數必須與類名相同D. 構造函數不能帶參數11. int myArray3=new int3new int35,6,2,new int56,9,7,8,3,new
5、 int23,2; myArray322的值是 (D)A. 9 B. 2 C. 6 D. 越界12. 接口是一種引用類型,在接口中可以聲明(A),但不可以聲明公有的域或私有的成員變量。A. 方法、屬性、索引器和事件B. 方法、屬性信息、屬性C. 索引器和字段D. 事件和字段13. ASP.NET框架中,服務器控件是為配合Web表單工作而專門設計的。服務器控件有兩種類型,它們是(A)A. HTML控件和Web控件 B. HTML控件和XML控件 C. XML控件和Web控件 D. HTML控件和IIS控件14. 在ADO.NET中,對于Command對象的ExecuteNonQuery()方法和
6、ExecuteReader()方法,下面敘述錯誤的是 (C)。A. insert、update、delete等操作的Sql語句主要用ExecuteNonQuery()方法來執(zhí)行B. ExecuteNonQuery()方法返回執(zhí)行Sql語句所影響的行數C. Select操作的Sql語句只能由ExecuteReader()方法來執(zhí)行D. ExecuteReader()方法返回一個DataReder對象15. 下列ASP.NET語句 (b)正確地創(chuàng)建了一個與SQL Server 2000數據庫的連接。A. SqlConnection con1 = new Connection(Data Source
7、 = localhost; Integrated Security = SSPI; Initial Catalog = myDB)B. SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB)C. SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB
8、)D. SqlConnection con1 = new OleDbConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB)16. 在ADO.NET中執(zhí)行一個存儲過程時,如果要設置輸出參數則必須同時設置參數的方向和 (B),必要時還要設置參數尺寸A. 大??; B. 上限; C. 初始值; D. 類型;17. 要對注冊表進行操作則必須包含(D)A. System.ComponentModel命名空間; B. System.Collections命名空間;C. System.Thr
9、eading命名空間; D. Microsoft.Win32命名空間;18. 裝箱、拆箱操作發(fā)生在: (C)A.類與對象之間 B.對象與對象之間C.引用類型與值類型之間 D.引用類型與引用類型之間19. 用戶類若想支持Foreach語句需要實現(xiàn)的接口是: (A)A.IEnumerable B.IEnumeratorC.ICollection D.ICollectData20. 裝箱與拆箱操作是否是互逆的操作?(B)A.是 B.否21. 用戶自定義異常類需要從以下哪個類繼承:(A)A.Exception B.CustomExceptionC.ApplicationException D.Base
10、Exception22. Net依賴以下哪項技術實現(xiàn)跨語言互用性?(C)A.CLR B.CTS C.CLS D.CTT23. 以下哪個類是int的基類?( b)A.Int32 B.Object C.ValueType D.Int1624. 以下哪些可以作為接口成員?(多選) (ABDE)A.方法 B.屬性 C.字段 D.事件 E.索引器 F.構造函數 G.析構函數25. 訪問范圍限定于此程序或那些由它所屬的類派生的類型是對以下哪個成員可訪問性含義的正確描述?(B)A.public B.protected C.internal D.protected internal26. class Clas
11、s1private static int count = 0;static Class1()count+;public Class1()count+;Class1 o1 = new Class1();Class1 o2 = new Class1();請問,o1.Count的值是多少?(C)A.1 B.2 C.3 D.427. abstract class BaseClasspublic virtual void MethodA()public virtual void MethodB()class Class1 : BaseClasspublic void MethodA(string arg
12、)public override void MethodB()class Class2 : Class1new public void MethodB()class MainClasspublic static void Main(string args)Class2 o = new Class2();Console.WriteLine(o.MethodA();請問,o.MethodA調用的是: (A)A.BaseClass.MethodAB.Class2.MethodAC.Class1.MethodAD.都不是28. 您要創(chuàng)建一個顯示公司員工列表的應用程序。您使用一個DataGrid控件顯示
13、員工的列表。您打算修改這個控件以便在這個Grid的Footer顯示員工合計數。請問您應該怎么做?( C? )A.重寫OnPreRender事件,當Grid的Footer行被創(chuàng)建時顯示合計數。B.重寫OnItemCreated事件,當Grid的Footer行被創(chuàng)建時顯示合計數。 C.重寫OnItemDataBound事件,當Grid的Footer行被創(chuàng)建時顯示合計數。D. 重寫OnLayout事件,當Grid的Footer行被創(chuàng)建時顯示合計數。29. 您要創(chuàng)建ASP.NET應用程序用于運行AllWin公司內部的Web站點,這個應用程序包含了50個頁面。您想要配置這個應用程序以便當發(fā)生一個HTTP
14、代碼錯誤時它可以顯示一個自定義的錯誤頁面給用戶。您想要花最小的代價完成這些目標,您應該怎么做?(多選)( CD ) A.在這個應用程序的Global.asax文件中創(chuàng)建一個Application_Error過程去處理ASP.NET代碼錯誤。 B.在這個應用程序的Web.config文件中創(chuàng)建一個applicationError節(jié)去處理ASP.NET代碼錯誤。 C.在這個應用程序的Global.asax文件中創(chuàng)建一個CustomErrors事件去處理HTTP錯誤。 D.在這個應用程序的Web.config文件中創(chuàng)建一個CustomErrors節(jié)去處理HTTP錯誤。 E.在這個應用程序的每一頁中添
15、加一個Page指示符去處理ASP.NET 代碼錯誤。 F. 在這個應用程序的每一頁中添加一個Page指示符去處理ASP.NET HTTP錯誤。30. 您的公司有一個DB Server,名為AllWin,其上裝了MS SQLSERVER 2000?,F(xiàn)在需要您寫一個數據庫連接字符串,用以連接AllWin上SQL SERVER中的一個名為PubBase實例的Test庫。請問,應該選擇下面哪一個字符串?( B ) A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI” B. “Server
16、= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI” C. “Data Source= AllWin PubBase;Initial Category=PubBase;Integrated Security= SSPI” D. “Data Source= AllWin PubBase;Database=Test;Integrated Security= SSPI”31. 您要創(chuàng)建一個ASP.NET應用程序在DataGrid控件中顯示一個經過排序的列表。產品數據被存放于一個名為PubBase的Microsoft
17、 SQL Server 數據庫。每個產品的主鍵是ProductID,Numeric型并且每個產品有一個字母描述字段,名為ProductName。您使用一個SqlDataAdapter對象和一個SqlCommand對象通過調用一個存儲過程從數據庫中獲取產品數據。您將SqlCommand對象的CommandType屬性設置為CommandType.StoredProcedure,并將它的CommandText屬性設置為procProductList。您成功的獲取了一個DataTable對象,其中是已經按ProductID降序排列的產品列表。您打算顯示以相反的字母順序排列的ProductName,請
18、問該怎么做? ( B ) A. 將SqlCommand對象的CommandType屬性修改為CommandType.Text,將CommandText屬性修改為”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后將這個DataTable對象綁定到DataGrid控件。 B. 創(chuàng)建一個基于這個DataTable對象的新的DataView并將這個DataView的Sort屬性設置為“ProductName DESC”。然后將這個DataView對象綁定到DataGrid控件。 C. 將DataGrid控件的AllowSorting
19、屬性設置為True,并將DataGridColumn的SortExpression屬性設置為 “ProductName DESC”.以顯示ProductName。然后將這個DataTable對象綁定到DataGrid控件。 D. 將DataTable對象的DisplayExpression屬性設置為 “ORDER BY ProductName DESC”.。然后將這個DataTable對象綁定到DataGrid控件。 32. 對于一個實現(xiàn)了IDisposable接口的類,以下哪些項可以執(zhí)行與釋放或重置非托管資源相關的應用程序定義的任務?(多選) ( ABC )A.Close B.Dispose
20、C.FinalizeD.using E.Quit33. 下面有關用戶控件與aspx頁面區(qū)別說法錯誤的是(B)A. 用戶控件不能再包含標記,而aspx頁面可以包含B. 用戶控件不能觸發(fā)服務器端的事件,只是一種外觀重用方式,而aspx頁面可以C. 用戶控件繼承自System.Web.UI.UserControl,而aspx頁面繼承自System.Web.UI.PageD. 用戶控件可以包含其它用戶控件,但是不能直接訪問,必須包含在某個aspx頁面中才可以訪問,而aspx頁面是可以直接訪問的34. 想在在aspx頁面使用用戶控件,則aspx頁面開始部分必須添加下面哪個頁面指令AA. B. C. D.
21、 35. 根據你的理解,你認為第三控件與用戶控件的主要區(qū)別是AA. 第三方控件是編譯后的代碼,后綴為dll,只要應用程序引用進來,就可以使用,而用戶控件是頁面文件,屬于非編譯代碼,只限于在當前應用程序中使用B. 用戶控件比第三方控件更靈活,可以在應用程序中多個地方使用C. 用戶控件出現(xiàn)在工具箱中,而第三方控件不會出現(xiàn)在工具箱中D. 用戶控件比第三方控件的執(zhí)行效率要高一些36. 下面關于HttpHandler與HttpModule說法正確的是CA. 一個Http請求中可以經歷多個HttpModule和一個HttpHandlerB. 一個Http請求中可以經歷多個HttpHandler和一個Htt
22、pModuleC. HttpModule是一個Http請求的最終處理者D. HttpHandler通常做一些停止數據向客戶端輸出的操作37. 在aSPNET中,關于HttpHandler說法不正確的是:(D)A. 通常文件后綴名為ashxB. 它是一個Http請求處理的最終點C. 它實現(xiàn)了IHttpHandlerD. 當它的IsReusable屬性為false時,表示只能使用一次38. 下面哪個選項不能在web.config文件中配置的(C)A. 連接字符串B. 身份驗證C. 網站導航D. 程序出現(xiàn)錯誤時,定向到的錯誤提示頁面39. aSPNET支持三種驗證方式,不屬于其中的是(B)A. pa
23、ssportB. SqlServer身份C. WindowsD. Forms40. 在網站某個目錄的web.config配置文件中,有一段關于該目錄授權的代碼,經過分析,你認為正確的答案是:B 拒絕所有匿名用戶 容許xiazhang 拒絕所有用戶A. 所有用戶都可以訪問該網站目錄,除xiaozhang以外B. 所有用戶都不能訪問該網站目錄,除xiaozhang以外C. 匿名用戶和xiaozhang都不能訪問該網站目錄D. 所有角色和用戶都不能訪問該網站目錄41. 已知在網站的根目錄下有一個web.config文件,有如下關于驗證的代碼,正確說法的是BA. loginUrl的作用是,當用戶登錄不
24、成功時,轉向login.aspx頁面B. loginUrl的作用是,當用戶進入網站如果未登錄,就轉向login.aspx頁面C. timeout是超過20分鐘不登錄,就退出網站D. timeout的作用是當20分鐘后,用戶還沒有登錄,就轉向login.aspx頁面42. 下列關于部署的說法,正確的是(a d)A. 部署就是將站點文件復制到相關web目錄中B. 應該在本地站點將內容處理好,比如數據庫連接字符串設置好并加密,然后直接復制到站點到遠程服務器相關目錄即可C. 發(fā)布預編譯站點,如果將來需要更新某個頁面,最好不要選擇使用”使用固定命名和單頁程序集”D. 發(fā)布預編譯站點就是將站點所有文件都編
25、譯到dll中43. 下列(c)模板不屬于Repeater控件A. ItemTemplateB. alternatingItemTemplateC. SelectedItemTamplateD. SeparatorTemplate44. 在一個aspx頁面的Page_Load事件中,編寫了如下代碼,則執(zhí)行該頁面后,將在頁面中輸出(a)。private void Page_Load(object sender , System.Eventargs e)Response . Write(“歡迎光臨”);Response . End();Response . Write(“歡迎下次光臨”);A. 歡迎
26、光臨B. 歡迎下次光臨C. 歡迎光臨D. 歡迎下次光臨E. 歡迎光臨歡迎下次光臨45. 在aSP.NET中,下列關于session對象的說法正確的是(D)。(選擇一項)A. 用戶每次打開一個web頁面,將會創(chuàng)建一個session對象B. 用戶關閉客戶端web頁面后,session對象將立即消失C. 應用程序退出后,session對象的值才能消失D. 每個用戶的Session對象不能被其他用戶訪問46. 在aSP.NET中,為了將當前頁面跳轉到一個相同目錄下名為Main.htm的頁面,下面方法正確的是(C)。(選擇一項)A. Server.Execute(“Main.htm”);B. Servl
27、et.Transfer(“Main.htm”);C. Response.Redirect(“Main.htm”);D. Response.Write(“Main.htm”);47. 某個用ASP.NET技術開發(fā)的網站擁有大量的訪問量,最近該網經常因為服務器內存占用率過高而宕機,作為該網站技術員的你仔細檢查了該網站的系統(tǒng),發(fā)現(xiàn)內存占有率過高是因為每個用戶都有大量數據保存在Session中,為了解決該問題你應該進行(C)處理。(選擇一項)A. 將保存在Session中的數據保存在application中B. 將保存在Session中的數據保存在Cookie中C. 將Session中對安全性要求不高
28、的數據保存在Cookie中,不經常使用的數據保存在數據庫中D. 將Session中對安全性要求不高的數據保存在application中,不經常使用的數據保存在Cookie中48. 如果用戶信息必須填寫電話號碼,使用那個驗證控件(C)A. RequiredFieldValidatorB. REgularExpressionC. RequiredFieldValidator和regularExpression;D. CompareValidator和RequiredFieldValidator;49. 對于存儲過程的調用,應該出現(xiàn)在(C)層A. 表示層B. 業(yè)務邏輯層C. 數據訪問層D. 模型層5
29、0. 下列說法正確的是(AB) 選擇二項A. 數據訪問層要添加模型層的引用B. 業(yè)務邏輯層要添加數據訪問層的引用C. 表示層要添加數據訪問層業(yè)務邏輯層和模型層的引用D. 模型層要添加數據訪問層的引用填空題1. 面向對象的語言具有_性、_性、_性./ 封裝、繼承、多態(tài)2. String s = new String(xyz);創(chuàng)建了_個String Object?/23. float f=-123.567F; int i=(int)f;i的值現(xiàn)在是_?/-1234. 委托聲明的關鍵字是_?/delegate5. 在.Net托管代碼中我們不用擔心內存漏洞,這是因為有了_/gc6. 下面的例子中us
30、ing System;class Apublic static int X;static A()X=B.Y+1;class Bpublic static int Y=A.X+1;static B()static void Main()Console.WriteLine(X=0,Y=1,A.X,B.Y);產生的輸出結果是_/ x=1,y=27. 用sealed修飾的類有什么特點?_/不可被繼承8. 在.Net中所有可序列化的類都被標記為_/serializable9. 啟動一個線程是用run()還是start()?_/start()10. Class可以被實例化,屬于_類型,是分配在內存的_上的
31、,Struct屬于_類型,是分配在內存的_上的./ 引用, 堆, 值, 棧11. :表示_,是_/綁定的數據源,服務器端代碼塊簡答題1.GC是什么,簡述一下GC的工作方式?垃圾回收(garbage collectionDot Net的垃圾回收可以分為兩個步驟,第一步進行“標記”,垃圾回收器假設所有的對象都是垃圾,然后開始遍歷每一個“根”(根包含指向引用類型對象的一個指針,值類型對象永遠不會被認為是一個根),如果發(fā)現(xiàn)一個根引用了一個對象(非NULL),就對對象進行標記。沒有被標記的對象被認為是垃圾。第二個階段就是“壓縮”,其實就是將后面的對象移動到已經成為垃圾的對象位置,使得原來的托管堆更為緊湊
32、。從而釋放了托管堆。GC類中的方法影響何時對對象進行垃圾回收以及何時釋放對象所分配的資源。此類中的屬性提供以下信息:系統(tǒng)可用內存總量、分配給對象的內存的周期類別(代)。GC跟蹤并回收托管內存中分配的對象。垃圾回收器定期執(zhí)行垃圾回收以回收分配給沒有有效引用的對象的內存。當使用可用內存不能滿足內存請求時,垃圾回收會自動進行?;蛘?,應用程序可以使用 Collect 方法強制進行垃圾回收。垃圾回收由以下步驟組成: GC搜索托管代碼中引用的托管對象。GC嘗試完成沒有被引用的對象。GC釋放沒有被引用的對象并回收它們的內存。在回收期間,如果GC在托管代碼中找到對某對象的一個或多個引用,則不會釋放該對象。然而
33、,GC不識別非托管代碼中對對象的引用,因此,除非明確禁止,否則它有可能釋放非托管代碼中以獨占方式使用的對象。KeepAlive 方法提供一種機制,該機制可防止垃圾回收器回收在非托管代碼中仍使用的對象。2.在.NET程序運行過程中,什么是堆,什么是棧?什么情況下會在堆(棧)上分配數據?它們有性能上的區(qū)別嗎?堆也就是托管堆(managed heap),進程初始化的時候,CLR要保留一塊連續(xù)的地址空間,這個地址空間最初并沒有對應的物理存儲空間。這個地址空間就是托管堆。棧是在程序運行過程中用于保存指令,值類型變量的內存區(qū)域(一個線程對應一個棧),棧的結構和數據結構中“?!钡慕Y構是一樣的,“先進后出”。
34、值類型在棧上分配,引用類型在堆上分配。由于在棧上分配數據不受垃圾回收的控制,不存在垃圾回收的各種開銷,應用程序執(zhí)行的時候垃圾回收的次數也會少很多,所以棧上分配顯然要比堆上分配性能上好。由于在棧上分配的變量已經包含了實例的字段所以不需要一個指針指向它??臻g上的開銷也較小。3.異常的作用是什么?.NET BCL中有哪些常見的異常?在代碼中您是如何捕獲/處理異常的?在“catch (ex)”中,“throw”和“throw ex”有什么區(qū)別?您會如何設計異常的結構,什么情況下您會拋出異常?異常用于處理系統(tǒng)級或者應用程序級的錯誤狀態(tài)。這就會引發(fā)另外幾個問題,異常相比原來使用的返回錯誤代碼的優(yōu)點在哪里?
35、異常處理是一種結構化的處理過程,個人認為他最大的優(yōu)點就在于將“成功場景”剝離出來,使得代碼更加清晰自然。但是異常處理相對于返回錯誤碼有一個缺點,那就是他會失去發(fā)生異常的位置。不過異常本身提供了很多幫助調試問題的工具,一般都帶有棧跟蹤,這樣位置的問題就得到一定程度的解決。還有就是IF和異常之間的選擇,我記得以前有人討論過在各種分支下是使用異常來處理各種“失敗場景”的分支還是使用IF或者SWITCH來處理呢?這其實是一個假問題,因為異常和錯誤是有概念上的不同的,這里的錯誤是指有違“主成功場景”的“異常場景”,爾異常是指當程序不能完成其名字所表示功能時的錯誤。所以需要強調不要使用異常來區(qū)分各種失敗場
36、景,異常壓根就不是用來干這件事情的!.NET BCL中有哪些常見的異常?隨便說幾個,最著名的恐怕就是那句像繞口令一樣的“未將對象引用設置到對象實例”了,還有那些基本一出現(xiàn)整個應用程序就被判死刑的“堆棧溢出”、“內存無法分配”異常了。在“catch (ex)”中,“throw”和“throw ex”有什么區(qū)別?throw 重新拋出異常但是不破壞異常發(fā)生的調用棧爾“throw ex”會重置調用棧這樣捕獲異常的人會以為代碼出錯在這里。您會如何設計異常的結構,什么情況下您會拋出異常?首先我會盡量的使用系統(tǒng)定義的那些異常,如果我需要處理某一特定類別的異常,而且處理方式和通常處理方式不同那么就考慮自定義異
37、常,還有如果需要調用方用一種統(tǒng)一的方式來處理異常那么自定義異常就是一個好的選擇。結構的話當然基類是Sysytem.Exception,盡量使用扁平化異常的層次??梢钥紤]用泛型類來定義異常。4. 緩存有什么作用?ASP.NET的緩存分為哪3種?應用程序緩存又分為哪4種?簡單說下你在項目中所用的緩存。作用:把訪問頻繁的數據以及需要大量處理時間來創(chuàng)建的數據存儲在內存中,當用戶請求這些數據時,系統(tǒng)直接將內存中的數據返回給用戶,從而大大提高應用程序的性能.ASD.NET的緩存分為:整頁緩存、頁面部分緩存和應用程序緩存應用程序緩存分:定時緩存、滑動緩存、文件依賴緩存和數據庫依賴緩存常用的緩存 Cache
38、它有健全的依賴和過期策略5.請解釋你對ADO.NET中的事物處理的理解。在ADO.NET中定義一個事物,需要用到SqlTransaction命令,在這一命令之后的任何語句都被認為是事物的一部分。命令Commit用于完成事物,并使事物對數據庫所作的任何修改成為永久的。Rollback命令用于取消一個事物,并還原事物對數據庫所作的修改。6.請說出viewState的優(yōu)缺點,什么情況下應該避免使用viewState。優(yōu)點:實現(xiàn)過程簡單;數據再頁面中自動維護,不需要耗費服務資源;數據經過加密和壓縮,比hidden field有更高的的安全性;數據存儲不受時間的限制。缺點:不能跨頁面操作; 存儲大數據量
39、時會降低性能; 在客戶端儲存數據仍然有潛在的安全威脅。不要回送的頁面避免使用,避免使用viewState保存大數據量,因為viewState沒有超時操作,所以在需要使用會話超時的情況下應該避免使用。7. 簡述ASP.NET的頁面運行機制當每次請求ASP.NET頁面時,依據不同的情況,瀏覽器、服務器、ASP.NET引擎之間將執(zhí)行4條線路中的一條線路,4條線路是:1) 當第一次訪問頁面時,頁面請求首先依次經過HttpModuls和HttpHandler的處理,服務器接收到HttpHandler的請求后將跳轉到需要訪問的頁面,然后ASP.NET引擎負責找到這個頁面后臺的類,并實例化為一個臨時對象。在
40、此過程中會觸發(fā)一系列的事件。其中,一部分事件需要經過對象中的方法進行處理,之后服務器會將這個處理后頁面移交給Response對象,然后由Response對象將這個頁面發(fā)送到客戶端。這是第一條路線。2) 因為服務器之間的會話已經建立,在服務器中的臨時對象已經建立,所以在這個頁面上重新提交一些信息并再次向服務器發(fā)送請求時,是不用再經過初始化頁面這一部分工作的。故這第二條路線是依次提交HttpModuls、HttpHandler請求,然后直接與臨時對象交互并返回的。3) 第三條路線與第二條路線的不同之處在于,在處理請求時,如果涉及到需要調用ASP.NET緩存,臨時對象將直接從ASP.NET緩存提取信
41、息并返回。4) 第四條路線是在刷新頁面的時候,服務器接收到并發(fā)現(xiàn)這個請求曾經處理過,并將處理結果存儲到由一個默認的HttpModule管理的輸出緩存中。那么,此時就可以直接從這個緩存中提取信息并返回,而無需再重新處理一遍。了解ASP.NET頁面的內部運行機制,對于編寫、調試代碼的時候有方便之處。8.簡述 ASP.NET一個頁面的生命周期在ASP.NET的頁面生命周期中需要經歷Page_Init、LoadViewState、LoadPageData、Page_Load、RaisePostDataChanged、RaisePostDataChanged、RaisePostBackEvent、Page_PreRender、SaveViewState、Page_Render、UnLoad這10個事件。每一個ASP.NET頁面周期,都經歷著同樣的過程:從初始化對象到銷毀對象。9.什么是反射?如何實現(xiàn)反射?反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態(tài)地創(chuàng)建類型的實
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024葡萄酒年份酒經銷商售后服務與銷售合同3篇
- 2024藥品質量檢驗與監(jiān)管合同
- 二零二四年委托創(chuàng)作合同:原創(chuàng)音樂作品委托創(chuàng)作協(xié)議
- 二零二五年度綠色復墾土地流轉合同模板3篇
- 二零二五年度大巴車租賃與綠色出行宣傳合同3篇
- 2025年度餐飲店食品安全風險評估合同9篇
- 二零二四年三人共同投資大數據科技公司合同3篇
- 2025年度鐵路旅游列車運營管理合同3篇
- 2025年度綠色家居產品認證服務合同簡易版2篇
- 2024年環(huán)境工程監(jiān)理研發(fā)合同
- 專升本英語閱讀理解50篇
- 施工單位值班人員安全交底和要求
- 中國保險用戶需求趨勢洞察報告
- 數字化轉型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
- 現(xiàn)場工藝紀律檢查表
- 醫(yī)院品管圈與護理質量持續(xù)改進PDCA案例降低ICU病人失禁性皮炎發(fā)生率
- 新型電力系統(tǒng)研究
- 烘干廠股東合作協(xié)議書
- 法院服務外包投標方案(技術標)
評論
0/150
提交評論