ASP.NET知識總結

iDotNetSpace發表於2010-09-30

1. internal關鍵字

解:internal 關鍵字是型別和型別成員的訪問修飾符。只有在同一程式集的檔案中,內部型別或成員才是可訪問的.

 

2. ASP.NET 頁面之間傳遞值的幾種方式

解:1. Querystring。

Querystring是一種非常簡單的傳值方式,其缺點就是會把要傳送的值顯示在瀏覽器的位址列中,並且在此方法中不能夠傳遞物件。如果你想傳遞一個安全性不是那麼太重要或者是一個簡單的數值時,用此方法最好不過了。

2. Session變數

使用Session變數傳值是一種最常見的方式了,此中方式不僅可以把值傳遞到下一個頁面,還可以交叉傳遞到多個頁面,直至把Session變數的值removed後,變數才會消失。

3. Server.Transfer

雖然這種方法有點複雜,但也不失為一種在頁面傳值的方式。

3. 簡單的C#索引器舉例

解:

using System;
using System.Collections;
class MyClass{   
 private string[] data = new string[5];  
 public string this[int index] {
 get { return data[index]; } 
 set { data[index] = value; } }
 }
 class MyClient{
 public static void Main() {
 MyClass mc = new MyClass(); 
 mc[0] = "Rajesh"; 
 mc[1] = "A3-126"; 
 mc[2] = "Snehadara"; 
 mc[3] = "Irla"; mc[4] = "Mumbai";
 Console.WriteLine("{0},{1},{2},{3},{4}", mc[0], mc[1], mc[2], mc[3], mc[4]); }}

 

4. 用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關係以及為什麼要這樣分層?

解:一般為3層。
資料訪問層,業務邏輯層,表示層。
資料訪問層:對資料庫進行增刪查改。
業務層:一般分為二層,業務表觀層實現與表示層的溝通,業務規則層實現使用者密碼的安全等。
表示層:為了與使用者互動。例如使用者新增表單。

 

5. 什麼叫應用程式域?

解:應用程式域(AppDomain)。可以理解成很多應用程式域都可以執行在同一個.NET的程式中,可以降低系統消耗,同時不同的域之間互相隔離,在安全性方面有保障。另外對於同一個程式內不同域之間的通訊也相對簡單一點。

AppDomainSetup info = new AppDomainSetup();
info.LoaderOptimization = LoaderOptimization.SingleDomain;
AppDomain domain = AppDomain.CreateDomain("MyDomain", null, info);
domain.ExecuteAssembly("C:\\test\\DomainCom.exe");
AppDomain.Unload(domain);

6. 什麼是裝箱和拆箱?

解:從值型別轉換到引用型別--裝箱。

從引用型別轉換到值型別--拆箱。

 

7. .net中讀寫資料庫需要用到那些類?他們的作用?

解:SqlDataAdapter , DataSet ,SqlCommand

private static DataSet SelectRows(
DataSet dataset, string connectionString,string queryString) {    
using (SqlConnection connection = new SqlConnection(connectionString))    {        
SqlDataAdapter adapter = new SqlDataAdapter();        
adapter.SelectCommand = new SqlCommand(queryString, connection);        
adapter.Fill(dataset);       
 return dataset;    }
 }

8. ASP.net的身份驗證方式有幾種?

解:1. Windows Authentication,包括NTLM和Kerbros

2. Form. Authentication。

3. Passport Authentication。需要安裝Passport Software Developer Kit.這種認證方式適合於跨站之間的應用,使用者只有一個使用者名稱和密碼可以訪問任何成員站。

 

9. wsdl.exe的使用方式?

解:

wsdl http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
(根據指定的XML Web Service生成一個.wsdl檔案和以C#語言描述的客戶端代理類)
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx
(根據指定的XML Web Service生成一個以C#語言描述的客戶端代理類- myProxyClass.cs)
wsdl /language:VB /out:myProxyClass.vb http://hostServer/WebserviceRoot/WebServiceName.asmx
(根據指定的XML Web Service生成一個以VB語言描述的客戶端代理類- myProxyClass.vb)

 

10. struct和class的區別?

解:

  Struct` Class
地址分配
效率
適合物件 大而複雜
型別 值型別 引用型別
拷貝時 建立新結構 複製引用
繼承性 不可繼承與被繼承 可繼承,可自定義(sealed)

 

11. abstract class和interface有什麼區別?

解:

  abstract class interface
概念 抽象型別 協議
非靜態資料成員 可有 不可有
方法預設行為 可有 不可有
與被繼承類的關係 is a implement

 

12. .try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的code會不會被執行,什麼時候被執行,在return前還是後?

解:會執行,在return前執行。

 

13. C#反射即舉例

解:

Reflection,中文翻譯為反射。
這是.Net中獲取執行時型別資訊的方式,.Net的應用程式由幾個部分:‘程式集(Assembly)’、‘模組(Module)’、‘型別 (class)’組成,而反射提供一種程式設計的方式,讓程式設計師可以在程式執行期獲得這幾個組成部分的相關資訊。

(1)使用Assembly定義和載入程式集,載入在程式集清單中列出模組,以及從此程式集中查詢型別並建立該型別的例項。
(2)使用Module瞭解包含模組的程式集以及模組中的類等,還可以獲取在模組上定義的所有全域性方法或其他特定的非全域性方法。
(3)使用ConstructorInfo瞭解建構函式的名稱、引數、訪問修飾符(如pulic 或private)和實現詳細資訊(如abstract或virtual)等。使用Type的GetConstructors或 GetConstructor方法來呼叫特定的建構函式。
(4)使用MethodInfo瞭解方法的名稱、返回型別、引數、訪問修飾符(如pulic 或private)和實現詳細資訊(如abstract或virtual)等。使用Type的GetMethods或GetMethod方法來呼叫特定的方法。
(5)使用FiedInfo瞭解欄位的名稱、訪問修飾符(如public或private)和實現詳細資訊(如static)等,並獲取或設定欄位值。
(6)使用EventInfo瞭解事件的名稱、事件處理程式資料型別、自定義屬性、宣告型別和反射型別等,新增或移除事件處理程式。
(7)使用PropertyInfo瞭解屬性的名稱、資料型別、宣告型別、反射型別和只讀或可寫狀態等,獲取或設定屬性值。
(8)使用ParameterInfo瞭解引數的名稱、資料型別、是輸入引數還是輸出引數,以及引數在方法簽名中的位置等。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-675175/,如需轉載,請註明出處,否則將追究法律責任。