ASP.Net 知識點總結(三)


1.描述一下C#中索引器的實現過程,是否只能根據數字進行索引?

答:不是。可以用任意類型。

2.<%# %> 和 <% %> 有什么區別?

答:<%# %>表示綁定的數據源

<% %>是服務器端代碼塊

3.重載與覆蓋的區別?

答:1、方法的覆蓋是子類和父類之間的關系,是垂直關系;方法的重載是同一個類中方法之間的關系,是水平關系

2、覆蓋只能由一個方法,或只能由一對方法產生關系;方法的重載是多個方法之間的關系。

3、覆蓋要求參數列表相同;重載要求參數列表不同。

4、覆蓋關系中,調用那個方法體,是根據對象的類型(對象對應存儲空間類型)來決定;重載關系,是根據調 用時的實參表與形參表來選擇方法體的。

4.error和exception有什么區別

error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。

exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況。

5.Overloaded的方法是否可以改變返回值的類型?

答:Overloaded的方法是可以改變返回值的類型。

6.HashMap和Hashtable的區別。

答:HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在於HashMap允許空(null)鍵值(key),由於非線程安全,效率上可能高於Hashtable.

7.&和&&的區別。

&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and).

8.大概描述一下ASP.NET服務器控件的生命周期

答:初始化 加載視圖狀態 處理回發數據 加載 發送回發更改通知 處理回發事件 預呈現 保存狀態 呈現 處置 卸載

9.Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?

答:不能,可以實現接口

10.Static Nested Class和inner class 的不同

Static Nested Class是被聲明為靜態(static)的內部類,它可以不依賴於外部類實例被實例化。而通常的內部類需要在外部類實例化后才能實例化。

11.C#中 property 與 attribute的區別,他們各有什么用處,這種機制的好處在哪里?

答:attribute(特性):自定義屬性的基類;用來標識類,方法等的附加性質;Attribute :是一個對象,作用在於兩個方面。一個是影響編譯器的形為,另一個是把描述信息寫入Assembly中。

property (屬性):類中的屬性一個是屬性,用於存取類的字段,一個是特性,用來標識類,方法等的附加性質;Property:是一個方法是GET和SET的組合,一個是讀,一個是寫。

12.當整數a賦值給一個object對象時,整數a將會被?

答:裝箱。

 13.類成員有_____種可訪問形式?

答:this.;new Class().Method;

 14.public static const int A=1;這段代碼有錯誤么?是什么?

答:const不能用static修飾。

 15.float f=-123.567F; int i=(int)f;i的值現在是_____?

答:-123。

 16.委托聲明的關鍵字是______?

答:delegate.

 17.用sealed修飾的類有什么特點?

答:密封,不能繼承。

 18.在Asp.net中所有的自定義用戶控件都必須繼承自________?

答:Control。

 19.在.Net中所有可序列化的類都被標記為_____?

答:[serializable]

20.在.Net托管代碼中我們不用擔心內存漏洞,這是因為有了______?

答:GC。

21.什么是虛函數?什么是抽象函數?

答:虛函數:沒有實現的,可由子類繼承並重寫的函數。抽象函數:規定其非虛子類必須實現的函數,必須被重寫。

22.談談你對ASP和ASP.NET的區別?
答:ASP.Net擺脫了以前ASP使用腳本語言來編程的缺點,理論上可以使用任何編程語言包括C++ , VB , JS等等,當然,最合適的編程語言還是MS為.Net Frmaework專門推出的C(讀c sharp),它可以看作是VC和Java的混合體吧,盡管MS自己講C#內核中更多的象VC,但實際上我還是認為它和Java更象一些吧。首先它是面向對象的編程語言,而不是一種腳本,所以它具有面向對象編程語言的一切特性,比如封裝性、繼承性、多態性等等,這就解決了剛才談到的ASP的那些弱點。封裝性使得代碼邏輯清晰,易於管理,並且應用到ASP.Net上就可以使業務邏輯和Html頁面分離,這樣無論頁面原型如何改變,業務邏輯代碼都不必做任何改動;繼承性和多態性使得代碼的可重用性大大提高,你可以通過繼承已有的對象最大限度保護你以前的投資。並且C#和C++、Java一樣提供了完善的調試/糾錯體系。

23.為什么要用IsPortBack
答:頁面第一次加載時需要綁定一些數據,如果每次加載都綁定的話,會給服務器很大壓力ISPORTBACK第一次加載時返回的是false,以后每次返回的都是true,這樣可以設置    一些只需要在頁面一次加載時就綁定好的數據。

24..MVC指的是什么?
答:MVC將程序功能分成三部分考慮:視圖(VIEW,即可見的用戶界面部分)、模型(Model,程序的數據模型和業務邏輯部分),控制器(Controller,根據用戶輸入通知模型和視圖進行相應更改)。

25..ADO.NET的常用對象
答:Connection,Command,DataAdapter,DataSet,DataReader,configuration

26.C/S和B/S的區別,優缺點有哪些?
答:C/S是客戶端/服務器端,C/S的程序通常也叫胖客戶端,也就是一個程序的大部分功能,都在客戶端實現,而服務器端只實現一小部分功能。通過這點不難看出,C/S的程序大部分在客戶端實現,對於服務器端的壓力相對小一些,服務器端可以節省一些。而且C/S的程序用窗口來做,個人認為開發效率上快一點。但C/S的程序一大弊端就是,必須要在客戶端安裝並部署程序才能運行,也就是用戶必須得到客戶端程序才可以運行。所以得考慮不同系統之間的安裝與配置。
B/S是瀏覽器/服務器端,B/S的程序通常也叫瘦客戶端,與C/S相反。B/S的程序大部分功能都要在服務器端實現,客戶端只用來做輔助的控制功能。因為B/S的程序直接部署安裝在服務器上。用戶只需要有瀏覽器,並知道網址就可以使用程序。客戶端不必做任何配置和安裝,即可使用應用程序。而B/S也是有缺點的,首先B/S大部分功能都要在服務器端實現,對於服務器的要求就很高。服務器同時要應付用戶訪問與程序處理,所以服務器的配置必須能夠應付。另外就是B/S的程序是瀏覽器中執行,所以B/S的程序操作客戶端電腦的硬件,一般就得安裝ActiveX等插件在客戶端才可以操作。因此B/S的程序對於操作硬件,優勢沒有C/S的程序要好。

27.Windows 身份驗證提供程序
1,提供有關如何將 Windows 身份驗證與 Microsoft Internet 信息服務 (IIS) 身份驗證結合使用來確保 ASP.NET 應用程序安全的信息。
2、 Forms 身份驗證提供程序
提供有關如何使用您自己的代碼創建應用程序特定的登錄窗體並執行身份驗證的信息。使用 Forms 身份驗證的一種簡便方法是使用 ASP.NET 成員資格和 ASP.NET 登錄控件,它們一起提供了一種只需少量或無需代碼就可以收集、驗證和管理用戶憑據的方法。有關更多信息,請參見使用成員資格管理用戶和 ASP.NET 登錄控件概述。
3、 Passport 身份驗證提供程序
提供有關由 Microsoft 提供的集中身份驗證服務的信息,該服務為成員站點提供單一登錄和核心配置文件服務

28.ASP.NET中頁面傳值的方法;
答:session(viewstate)                  簡單,但易丟失
application                         全局
cookie                          簡單,但可能不支持,可能被偽造
input type=”hidden”             簡單,可能被偽造
url參數                          簡單,顯示於地址欄,長度有限
數據庫                           穩定,安全,但性能相對弱

29.net中類與對象的關系;
答:萬物都是對象,而類是對象的一個編程語言概念上的描述

30.ASP.NET里命名空間的定義;
答:命名空間是類的邏輯分組,它組織成一個層次結構——邏輯樹。這個樹的根是System。
在ASP.NET頁面中,可以默認的使用某些命名空間中包含的類,稱做標准的ASP.NET命名空間。對於其他命名空間,則必須顯式地導入

31.ASP.NET中內置對象是什么?

在 Web 應用程序運行時,ASP.NET 將維護有關當前應用程序、每個用戶會話、當前 HTTP 請求、請求的頁等方面的信息。ASP.NET 包含一系列類,用於封裝這些上下文信息。
Response提供對當前頁的輸出流的訪問。您可以使用此類將文本插入頁中、編寫 Cookie,等等。
Request  提供對當前頁請求的訪問,其中包括請求標題、Cookie、客戶端證書、查詢字符串等。您可以使用此類讀取瀏覽器已經發送的內容。
Context提供對整個當前上下文(包括請求對象)的訪問。
Server公開可以用於在頁之間傳輸控件的實用工具方法,獲取有關最新錯誤的信息,對 HTML 文本進行編碼和解碼,等等。
Application提供對所有會話的應用程序范圍的方法和事件的訪問。還提供對可用於存儲信息的應用程序范圍的緩存的訪問。
Session為當前用戶會話提供信息。還提供對可用於存儲信息的會話范圍的緩存的訪問,以及控制如何管理會話的方法。
Trace提供在 HTTP 頁輸出中顯示系統和自定義跟蹤診斷消息的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM