最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

淺談ASP.NET框架

2020-08-06 09:30 作者:微軟MVP-Eleven  | 我要投稿



一 .NET框架概述


1.作用:提供了基于.NET框架開發(fā)的基礎(chǔ)平臺(tái)和模板,為.NET開發(fā)的基架;

2.基本構(gòu)成:可支持語言,CLS,模板框架,基本模板,基本操作,基本類庫,公共需要運(yùn)行時(shí),CTS和CLS,OS等;

? ? (1)可支持語言:.NET框架可支持vb,c++,c#,F(xiàn)#,js等語言開發(fā);

? ? (2)CLS:通用語言規(guī)范,使多種語言開發(fā)成為了可能。

? ? (3)模板框架:B/S模式開發(fā),C/S模式開發(fā),App開發(fā),接口開發(fā)

? ? ? ? B/S:WebForm和MVC,.NET Core;主要是PC運(yùn)用程序;

? ? ? ? C/S:Winform和WPF,主要是桌面運(yùn)用程序;

? ? ? ? APP:當(dāng)前主流的一種開發(fā)模式;

? ? (4)基本操作:對(duì)DB操作(ADO.NET和EF),I/O操作等;

? ? (5)BCL:基本類庫,供調(diào)用;

? ? (6)CLR:公共語言運(yùn)行時(shí),是IL形成EXE必不可少的環(huán)節(jié),也是JIT實(shí)現(xiàn)一次編譯,多次且跨平臺(tái)運(yùn)行的必不可少的環(huán)境,在.NET框架中扮演著及其重要的角色,且技術(shù)比較難且晦澀;

? ? (7)CTS 和 CLS:CTS,即通用類型系統(tǒng),實(shí)現(xiàn)COM組件兼容等;

? ? (8)OS:屏蔽底層實(shí)現(xiàn),高度抽象,OS類型:Win XP(基本淘汰,微軟官方都不維護(hù)了)、Win 7 ,Win 8,Win 10;

3..NET兩大產(chǎn)品:Dynamic CRM 和SharePoint;


?(一)ADO.NET


1.作用:程序與數(shù)據(jù)交互的方式之一。.NET框架中,ADO.NET抽象化了程序與Database的交互,在進(jìn)行基本的CRUD操作時(shí),只需調(diào)用具體的類,方法即可;

2.基本構(gòu)成:主要由五大對(duì)象構(gòu)成。Conneciton對(duì)象,DataAdapter對(duì)象,Command對(duì)象,DataSet對(duì)象,DataReader對(duì)象構(gòu)成;

3.五大對(duì)象的基本概述:

? ?(1)Connection對(duì)象:連接數(shù)據(jù)庫的通道,主要方法為Open()和Close(),前者負(fù)責(zé)打開數(shù)據(jù)庫入口,后者負(fù)責(zé)關(guān)閉數(shù)據(jù)庫入口;

? ?(2)Command對(duì)象負(fù)責(zé)對(duì)DB的具體操作,CRUD就是通過它實(shí)現(xiàn)的;

? ?(3)DataAdapter對(duì)象負(fù)責(zé)將DB與DataSet適配,使基本的CRUD得以實(shí)現(xiàn);

? ?(4)DataSet對(duì)象扮演虛擬內(nèi)存的角色,也扮演緩存的角色,是實(shí)現(xiàn)Application與DB數(shù)據(jù)交互的必要環(huán)節(jié)之一;

? ?(5)DataReader主要解決讀取數(shù)據(jù)的問題,性能比較高;

4.建議:具體詳細(xì)信息,大家可以參照MSDN,其概述比較詳細(xì);


(二)EF框架


1.作用:為程序員提供更加方便快捷的數(shù)據(jù)操作,對(duì)于初級(jí)程序員來說,能很快的上手,極其方便(當(dāng)然,有經(jīng)驗(yàn)的EF開發(fā)人員可能經(jīng)歷過EF的各種坑);

2.三種模式:DB First,Code First,Model First;

3.基本構(gòu)成:操作工具(Linq To Entity,Entity SQL),ObjectServices,Entity Client,EDM,ADO.NET ?Data Provider;

? ?(1)Linq To ?Entity 和Entity SQL:提供了對(duì)數(shù)據(jù)操作的兩種不同方式;

? ?(2)ObjectServices:DB訪問入口,實(shí)現(xiàn)實(shí)體與數(shù)據(jù)的轉(zhuǎn)換;

? ?(3)Entity Client:負(fù)責(zé)將Linq To Entity和Entity SQL轉(zhuǎn)化為標(biāo)準(zhǔn)的SQL;

? ?(4)EDM:實(shí)現(xiàn)概念模型向存儲(chǔ)模型的轉(zhuǎn)換;

? ?(5)ADO.NET Data Provider:實(shí)現(xiàn)對(duì)DB的交互;


(三)程序編譯過程

1.程序編譯過程大致可概述

2.在控制臺(tái)中操作

Code:

下面我們將AddSum()方法編譯成dll文件

通過反編譯工具.NET Reflector查看IL代碼

?下面我們用NotePad++編譯源代碼,用VS的csc.exe編譯器編譯

提示:當(dāng)在Dos命令中中提示:‘csc’不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。

請(qǐng)將.net csc.exe 路徑添加到系統(tǒng)環(huán)境變量中,我的csc.exe路徑為

C:\Windows\Microsoft.NET\Framework64\v4.0.30319

不會(huì)的,可以參照?csc.exe Path路徑配置

或者參照我的另外一篇文章【java系列】java開發(fā)環(huán)境搭建

?

列舉幾個(gè)比較常用的csc.exe命令

關(guān)于csc.exe的命令,大家可以參照MSDN:

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/compiler-options/command-line-building-with-csc-exe

3.編譯過程大致可分為兩個(gè)階段:

第一階段:.cs代碼=>IL代碼,這個(gè)編譯時(shí)間比較慢

第二階段:IL+dll通過CRL形成目標(biāo)代碼,這個(gè)過程比較快

大家想想:為什么第一階段比較慢,第二階段比較快呢?將在下面的IL中講到


(四)CLR

?

1.作用:內(nèi)存管理,異常管理,多線程管理,GC管理等。CLR為.NET中極其重要的組成部分,也是.NET框架中比較難且晦澀技術(shù)之一。

2.可以把CLR看成是Java虛擬機(jī);

3.JIT即時(shí)編譯,主要由三部分構(gòu)成(主編譯器,PreJit和EconoJit)

4.JIT+CLR實(shí)現(xiàn)一次編譯,多次運(yùn)行且可跨平臺(tái);

5.CLR中比較重要的一個(gè)環(huán)節(jié),就是管道(Pipes)(HttpModule和HttpHandler)


(五)MSIL

?

1.IL是.cs代碼經(jīng)過VS編譯器csc.exe編譯而成的;

2.IL比較接近機(jī)器代碼但非機(jī)器代碼(這個(gè)特點(diǎn)使其IL=》.exe過程比較快);

3.IL代碼是指令無關(guān)的;

4.可以通過反匯編工具查看IL代碼;


二? 基于.NET Framework框架的B/S程序運(yùn)行解析

(一)總體流程概述


1.IIS在處理請(qǐng)求時(shí),將資源分為兩大類型:靜態(tài)資源和動(dòng)態(tài)資源

? ? ?靜態(tài)資源:IMG,JS,CSS,HTML等;

? ? ?動(dòng)態(tài)文件:ASP,ASP.NET,.aspx,..ashx,asax等;

?2.IIS處理靜態(tài)資源:

? ? 當(dāng)IIS收到來自瀏覽器的請(qǐng)求,識(shí)別為靜態(tài)資源時(shí),IIS直接處理,將處理結(jié)果以HTML形式返回給瀏覽器;

?3.IIS如何處理動(dòng)態(tài)資源?

? ?當(dāng)IIS收到來自瀏覽器的請(qǐng)求,識(shí)別為動(dòng)態(tài)資源時(shí),此時(shí)IIS不能處理,轉(zhuǎn)交給 ? ? ISAPI Extensions(ISAPI 擴(kuò)展程序)擴(kuò)展程序,該擴(kuò)展程序根據(jù)請(qǐng)求資源擴(kuò)展名,尋找響應(yīng)的程序處理,如為.asp文件,則asp_isapi處理,若為.aspx,則aspnet_isapi處理,

?4.IIS如何處理WebForm和MVC?

??當(dāng)IIS收到來自瀏覽器的請(qǐng)求,識(shí)別為動(dòng)態(tài)資源時(shí),此時(shí)IIS不能處理,轉(zhuǎn)交給ISAPI Extensions處理,此時(shí)ASP.NET MVC HTTP處理程序識(shí)別請(qǐng)求資源是否為MVC,若是,則交給MVC路由,按照處理MVC方式處理,否則按照WebForm流程處理;

5.CLR里面的管道(Pipes)是怎樣的呢?

? ?管道的本質(zhì)是HttpModule和HttpHandler(一般處理程序.ashx);

(二)CLR和Pipe


(三)TCP/IP模型


?1.這個(gè)結(jié)構(gòu)為當(dāng)前比較標(biāo)準(zhǔn)的TCP/IP五層模型,在五層模型成為通用規(guī)范前,有七層模型和四層模型兩大種類;

?2.關(guān)于這五層,謝希仁編寫的《計(jì)算機(jī)網(wǎng)絡(luò)》講得比較詳細(xì)且透徹,感興起的朋友可以去看看;

?3.為什么要提到TCP/IP呢?很簡(jiǎn)單,我們?cè)跒g覽器輸入:http://www.google.com.hk/,發(fā)生了過程中,TCP/IP就不可或缺;

?4.在這里不多講,會(huì)在后續(xù)文章WebApi和HTTP協(xié)議中詳細(xì)講解;

原文地址:https://www.cnblogs.com/wangjiming/p/8201129.html


淺談ASP.NET框架的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
华蓥市| 宜黄县| 营口市| 日土县| 临洮县| 大埔县| 柘荣县| 长顺县| 霍州市| 苗栗县| 米脂县| 铜陵市| 嘉祥县| 象州县| 罗田县| 闽清县| 商丘市| 哈尔滨市| 望谟县| 新巴尔虎右旗| 湘潭县| 板桥市| 肥城市| 深州市| 神木县| 司法| 搜索| 项城市| 周口市| 滦平县| 平塘县| 盖州市| 屯门区| 安顺市| 临安市| 松江区| 安阳市| 抚宁县| 梁山县| 司法| 许昌县|