Asp.net基礎(chǔ)知識(shí)掃盲篇

asp.net基礎(chǔ)知識(shí)掃盲篇

 

asp.net基礎(chǔ)知識(shí)篇-中文掃盲篇

1、.net是什么?

.net全稱.net framework是一個(gè)開發(fā)和運(yùn)行環(huán)境,

該戰(zhàn)略是微軟的一項(xiàng)全新創(chuàng)意,

它將使得“互聯(lián)網(wǎng)行業(yè)進(jìn)入一個(gè)更先進(jìn)的階段,

.net不是一種編程語言. 簡單說就是一組類庫框架,

.net開發(fā)支持c#、vb.net、j#、jsript和managed c++等。

c#是.net framework框架支持的一種主力開發(fā)語言,

可用于開發(fā)asp.net網(wǎng)站, windows 程序,控制臺(tái)程序,甚至于手機(jī)軟件

2、asp.net、.net和c#的關(guān)系是怎樣的?

.net 分成兩個(gè)方面:

(1)winform

(2)webform

asp.net就是屬于webform,也就是平時(shí)說的b/s模式的開發(fā)。

而winform就是屬于c/s模式。

.net有很多種語言組成,比如c#、 vb.net、j#、jsript、managed c++

但是都是運(yùn)行在.net framework run time底下的。

asp.net 可以用c#或vb.net來開發(fā)。

編譯后形成clr,通過服務(wù)器的iis+.net framework再次編譯來運(yùn)行。

c#是開發(fā)語言.

總之,asp.net是.net framework環(huán)境下的動(dòng)態(tài)網(wǎng)頁編程技術(shù),

.net framework是.net的基礎(chǔ)框架,

visual studio.net是用于開發(fā)軟件的一個(gè)集成環(huán)境(ide)。

當(dāng)然后續(xù)出來了windows phone/wpf等。

3、.net開發(fā)是用什么語言?

.net聲稱支持市面上20多種語言,

但目前只有微軟官方發(fā)布的c#,vb.net,j#, jsript和managed c++

tips:c#是主流哦。

4、為什么大部分用c#語言開發(fā).net?

c#是microsoft公司設(shè)計(jì)的一種編程語言,

c#(讀做‘csharp')。它基于c/c++,是面向?qū)ο蟮摹?/p>

沒有指針,有垃圾回收機(jī)制,會(huì)自動(dòng)釋放內(nèi)存空間。

學(xué)習(xí)c#并不必須有c語言的基礎(chǔ),不過,如果你學(xué)過c語言,

那會(huì)事半功倍的,因?yàn)樗麄冎g有很多語法是一樣的。

c#支持的基本類型和c++很相似,包括int, long,

float, double, char, string, arrays, structs和 classes等。

5、asp.net環(huán)境的安裝

(1)、其實(shí)現(xiàn)在一般的電腦都可以安裝,至于操作系統(tǒng)目前

.net支持的平臺(tái)有windows,至于linux和unix的支持正在開發(fā)中.

(2)、運(yùn)行環(huán)境下載,因?yàn)槭窍蛳录嫒荩钥梢韵螺d最新的framework框架

.net framework 3.5下載地址:

https://www.microsoft.com/zh-cn/download/details.aspx?id=21

.net framework 4.0下載地址:

https://www.microsoft.com/zh-cn/download/details.aspx?id=17718

.net framework 4.5下載地址:

https://www.microsoft.com/zh-cn/download/details.aspx?id=30653

.net framework 4.6.2下載地址:

https://www.microsoft.com/zh-cn/download/details.aspx?id=53345

(3)、安裝過程

首選安裝mdac,再安裝sdk,sdk的安裝時(shí)間比較長要耐心等待。

(4)、試運(yùn)行

安裝完成后,試著運(yùn)行一個(gè)簡單的asp.net編寫的小程序,以便確定安裝是否成功。

6、bin文件夾下的dll可以做什么?

(1)它是自動(dòng)生成的,不用自己添加。

(2)作用:bin文件夾中包含項(xiàng)目中所用到的所有引用的類庫,支持服務(wù)器等內(nèi)容dll的全稱是dynamic link library, 中文叫做“動(dòng)態(tài)鏈接文件”。

7、.net主要的優(yōu)點(diǎn)有哪些?

.net的主要優(yōu)點(diǎn)有跨語言,跨平臺(tái),安全,以及對(duì)開放互聯(lián)網(wǎng)標(biāo)準(zhǔn)和協(xié)議的支持.

.net支持多種語言的互操作,即在一種語言下開發(fā)的組件,

可在另一組件下通過面向?qū)ο蟮睦^承而得以重用.

.net通過將各語言先編譯成中間語言(il),

然后再執(zhí)行時(shí)用即時(shí)(just in time)編譯器將之編譯成本地平臺(tái)代碼來實(shí)現(xiàn)異構(gòu)平臺(tái)下對(duì)象的互操作,

.net通過公共語言運(yùn)行庫clr(common language runtime)來實(shí)現(xiàn)資源對(duì)象,類型的安全.

.net通過對(duì)http,xml等internet標(biāo)準(zhǔn)的支持提供在異構(gòu)網(wǎng)絡(luò)環(huán)境下獲取遠(yuǎn)程服務(wù),

連接遠(yuǎn)程設(shè)備,交互遠(yuǎn)程應(yīng)用的編程界面

8、asp.net和asp的區(qū)別?

asp.net和asp的最大區(qū)別在于編程思維的轉(zhuǎn)換以及功能的增強(qiáng)。

asp使用vb/js這樣的弱類型、面向結(jié)構(gòu)的腳本語言混合html來編程,

而非面向?qū)ο?,這就明顯產(chǎn)生以下幾個(gè)問題:

1、代碼邏輯混亂,難于管理。

2、代碼的可重用性差:由于是面向結(jié)構(gòu)的編程方式,并且混合html,

所以可能頁面原型修改一點(diǎn),整個(gè)程序都需要修改,代碼重用性差。

3、弱類型造成潛在的出錯(cuò)可能。

以上是asp語言本身的弱點(diǎn),在功能方面asp同樣存在問題:

第一是功能太弱,一些底層操作只能通過組件來完成

第二缺乏完善的糾錯(cuò)/調(diào)試功能

asp.net理論上可以使用任何編程語言包括c#,vb.net、js、、j#、managed c++等等,

最合適的編程語言還是ms為.net frmaework專門推出的c#

優(yōu)點(diǎn)如下:

(1)是面向?qū)ο蟮木幊陶Z言,簡單易學(xué)。

(2)具有面向?qū)ο缶幊陶Z言的一切特性,比如封裝性、繼承性、多態(tài)性等等,

封裝性使得代碼邏輯清晰,并且應(yīng)用到asp.net上就可以使業(yè)務(wù)邏輯和html頁面分離;

繼承性和多態(tài)性使得代碼的可重用性大大提高

(3)c#還提供了完善的調(diào)試/糾錯(cuò)體系。

9、做項(xiàng)目時(shí)數(shù)據(jù)庫類型的選擇?

當(dāng)前流行的數(shù)據(jù)庫有:sql server,mysql,oracle,db2。

vs項(xiàng)目中大多是選擇以下四種:

sql2000簡單實(shí)用,功能完全夠?qū)W習(xí)時(shí)使用,可通過命令行快速打開;

sql2005功能全面,但安裝麻煩,體積大,剛打開數(shù)據(jù)庫的時(shí)候比較慢,啟動(dòng)之后就快了許多;

sql2008新出的數(shù)據(jù)庫,功能肯定比前兩者強(qiáng)大,建議使用sql2005的用戶升級(jí) 到sql2008;

access體積小、部署方便(不用啟動(dòng)服務(wù)等)使用方便簡單.

10、asp.net中經(jīng)常使用的控件有哪些?

label控件用來顯示文本的控件。label控件不能接收鼠標(biāo)或是鍵盤輸入。

textbox控件來顯示和更新任務(wù)數(shù)據(jù),用戶輸入內(nèi)容。

button按鈕控件當(dāng)用戶單擊或者點(diǎn)擊一個(gè)按鈕時(shí),即會(huì)觸發(fā)click事件

listbox和combobox控件外觀不同,但功能極為相似,允許用戶進(jìn)行選擇,不允許輸入文本。

11、.net開發(fā)工具都有哪些?

現(xiàn)在主流是visual studio 2012/2013/2014/2015,

vs提供了下列幾個(gè)版本:標(biāo)準(zhǔn)版、專業(yè)版、tools for office 和 team system 版。

還有c# builder只應(yīng)用于大型企業(yè)開發(fā),

支持一些微軟的vs.net都不支持的企業(yè)級(jí)功能。

還有一款免費(fèi)的開發(fā)工具web matrix,這款自動(dòng)感知能力弱到幾乎沒有,

適合開發(fā)頁面和代碼不分開的那種頁面,可以提高獨(dú)立寫代碼的水平。

不過他帶有.net類庫瀏覽器,以及一個(gè)數(shù)據(jù)庫開發(fā)的控件,也算是有些特點(diǎn)。

入門初學(xué)者vs.net會(huì)很容易上手,

當(dāng)然,還有就是高手只用記事本咯!

12、為什么.net程序第一次運(yùn)行比較慢?

aspx頁面在運(yùn)行時(shí),第一次訪問時(shí)要進(jìn)行編譯。

當(dāng)你再次運(yùn)行時(shí),由于緩存機(jī)制,速度就會(huì)正常了。

13、c#的命名規(guī)范

主要有pascal和camel兩種

pascal:單詞的首字母大寫,如producttype;

camel:首個(gè)單詞的首字母小寫,其余單詞的首字母大寫,如producttype)

以下是一些常用的c#成員及其推薦命名方法:

類class:pascal

枚舉類型enum:pascal記住,是以pascal命名,切勿包含enum

委托delegate:pascal以pascal命名,不以任何特殊字符串區(qū)別于類名、函數(shù)名

接口interface:pascal注:總是以"i"前綴開始,后接pascal命名

方法function: pascal

命名空間namespace: pascal比如:usingexcelquicker.framework

屬性:pascal

參數(shù):camel 首字母小寫

常量const: camel 字母全部大寫

局部變量:camel 聲明變量是以str開頭

數(shù)據(jù)成員:camel 以m開頭+pascal命名規(guī)則,如mproducttype(m意味member)

14、如何判斷一個(gè)程序是否開源或者是有源文件?

都有對(duì)應(yīng)的.cs文或vb文件

有項(xiàng)目文件和解決方案文件

bin文件下所有的dll文件或是引用的組件有對(duì)應(yīng)的源碼

 

asp.net基礎(chǔ)知識(shí)篇-技術(shù)問答

1.簡述 private、 protected、 public、 internal 修飾符的訪問權(quán)限。

答:private : 私有成員, 在類的內(nèi)部才可以訪問。
  protected : 保護(hù)成員,該類內(nèi)部和繼承類中可以訪問。
  public : 公共成員,完全公開,沒有訪問限制。
  internal: 在同一程序集(命名空間)內(nèi)可以訪問。

2 .列舉asp.net 頁面之間傳遞值的幾種方式。

答:1.使用querystring, 如…?id=1; response. redirect()…
  2.使用session變量
  3.使用server.transfer
  4.使用cookie
  5.使用application

3.c#中的委托是什么?事件是不是一種委托?

答:委托可以把一個(gè)方法作為參數(shù)代入另一個(gè)方法。
  委托可以理解為指向一個(gè)函數(shù)的引用。
  事件是一種特殊的委托

4.override與重載的區(qū)別

答:重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進(jìn)行多次重載以適應(yīng)不同的需要
    override 是在子類對(duì)基類中函數(shù)的重寫。為了適應(yīng)需要。

5.如果在一個(gè)b/s結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用session、cookie、application,您有幾種方法進(jìn)行處理?

答 : this.server.transfer,  response. redirect()―querystring

6.描述一下c#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?

答:不是??梢杂萌我忸愋?。

7.用.net做b/s結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來開發(fā),每一層之間的關(guān)系以及為什么要這樣分層?

答:一般為3層:數(shù)據(jù)訪問層,業(yè)務(wù)層,表示層。
  數(shù)據(jù)訪問層對(duì)數(shù)據(jù)庫進(jìn)行增刪查改。
  業(yè)務(wù)層一般分為二層,業(yè)務(wù)表觀層實(shí)現(xiàn)與表示層的溝通,業(yè)務(wù)規(guī)則層實(shí)現(xiàn)用戶密碼的安全等。
  表示層為了與用戶交互例如用戶添加表單。
  優(yōu)點(diǎn): 分工明確,條理清晰,易于調(diào)試,而且具有可擴(kuò)展性。
  缺點(diǎn): 增加成本。

8.什么叫應(yīng)用程序域?

答:應(yīng)用程序域可以理解為一種輕量級(jí)進(jìn)程。起到安全的作用。占用資源小。

9.cts、cls、clr分別作何解釋?

答:cts是通用類型系統(tǒng)(common type system)
  clr是公共語言運(yùn)行時(shí)(common language runtime)
  cls是公共語言定義(common language specification)

10.什么是裝箱和拆箱?

答:從值類型接口轉(zhuǎn)換到引用類型裝箱。從引用類型轉(zhuǎn)換到值類型拆箱。

11.什么是受管制的代碼?

答:unsafe:非托管代碼。不經(jīng)過clr運(yùn)行。

12.什么是強(qiáng)類型系統(tǒng)?

答:rtti:類型識(shí)別系統(tǒng)。

13.net中讀寫數(shù)據(jù)庫需要用到那些類?他們的作用?

答:dataconnection:連接數(shù)據(jù)庫
  dataset:數(shù)據(jù)存儲(chǔ)器。
  datacommand:執(zhí)行語句命令。
  dataadapter:數(shù)據(jù)的集合,用于填充數(shù)據(jù)。

14.asp.net的身份驗(yàn)證方式有哪些?分別是什么原理?

答:windwos(默認(rèn))用iis…from(窗體)用帳戶…passport(密鑰)

15.什么是code-behind技術(shù)?

答:代碼后植。

16.在.net中,配件的意思是?

答:程序集。(中間語言,源數(shù)據(jù),資源,裝配清單)

17.常用的調(diào)用webservice的方法有哪些?

答:1.使用wsdl.exe命令行工具。
  2.使用vs.net中的add web reference菜單選項(xiàng)

18…net remoting 的工作原理是什么?

答:服務(wù)器端向客戶端發(fā)送一個(gè)進(jìn)程編號(hào),一個(gè)程序域編號(hào),以確定對(duì)象的位置。

19.在c#中,string str = null 與 string str = “” 請盡量使用文字或圖象說明其中的區(qū)別。

答:string str = null 是不給他分配內(nèi)存空間,而string str = “” 給它分配長度為空字符串的內(nèi)存空間。

20.請?jiān)斒鲈赿otnet中類(class)與結(jié)構(gòu)(struct)的異同?

答:class可以被實(shí)例化,屬于引用類型,是分配在內(nèi)存的堆上的,struct屬于值類型,是分配在內(nèi)存的棧上的。

21.sqlserver服務(wù)器中,給定表 table1 中有兩個(gè)字段 id、lastupdatedate,id表示更新的事務(wù)號(hào),lastupdatedate表示更新時(shí)的服務(wù)器時(shí)間,請使用一句sql語句獲得最后更新的事務(wù)號(hào)。

答:select id from table1 where lastupdatedate = (select max(lastupdatedate) from table1)

22.簡要談一下您對(duì)微軟.net 構(gòu)架下remoting和webservice兩項(xiàng)技術(shù)的理解以及實(shí)際中的應(yīng)用。

答:ws主要是可利用http,穿透防火墻。而remoting可以利用tcp/ip,二進(jìn)制傳送提高效率。

關(guān)于asp.net基礎(chǔ)知識(shí)掃盲篇的文章就介紹至此,更多相關(guān)asp.net基礎(chǔ)知識(shí)內(nèi)容請搜索碩編程以前的文章,希望大家多多支持碩編程!

下一節(jié):.net之生成數(shù)據(jù)庫全流程實(shí)現(xiàn)

asp.net編程技術(shù)

相關(guān)文章
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频