。
NET提供了一個運行環(huán)境,叫做公共語言運行時(CLR)。CLR管理代碼的執(zhí)行并使開發(fā)過程變得更加簡單。
CLR是一種受控的執(zhí)行環(huán)境,其功能通過編譯器與其他工具共同展現(xiàn)。 自描述組件的一個主要優(yōu)點是,使用它們并不需要其它文件。
類的定義不需要單獨的頭文件;通過檢查原數(shù)據(jù)對類的定義可以從組件自身獲得。 跨語言或過程邊界訪問組件并不需要各自的IDL文件、類型文件或proxy/stubs;所必需的信息已存在于元數(shù)據(jù)之中。
為識別開發(fā)者請示的服務(wù)屬性,并不需要展開各自的配制信息。 最主要的是,由于元數(shù)據(jù)是在編譯過程中由源代碼生成,并與可執(zhí)行代碼儲存在一起,它將永遠和可執(zhí)行部分同步。
除了改善對單個組件的配制,Microsoft 。NET框架定義了一個應(yīng)用程序配制模板,以解決定置應(yīng)用程序安裝和DLL版本化(通常被稱為“DLL Hell”)這一復(fù)雜過程的問題,運行語言提供了支持這個模板的服務(wù)。
Microsoft 。 NET框架 引入了組合體的概念。
一個組合體是一組資源和類型,并包括有關(guān)這些資源和類型的元數(shù)據(jù),也就是被作為一個單元配制的。元數(shù)據(jù)被稱為組合體的名單,它包含象類型和資源表之類能被組合體外看得見的信息,這個名單也包括有關(guān)從屬關(guān)系之類的信息,例如組合體建立時的版本號。
開發(fā)人員可以指定版本策略,以指示運行語言是否裝入系統(tǒng)上已安裝的依賴于組合體的最新版本,裝入一個指定版本,或在編譯時使用的版本。 某軟件組件的多個拷貝總可以存在于同樣的操作系統(tǒng)上,然而,通常說來,只有其中的一個拷貝能被操作系統(tǒng)注冊、調(diào)入內(nèi)存、執(zhí)行。
對系統(tǒng)來說,定位和調(diào)入內(nèi)存的策略是全局性。
NET Framework Common Language Runtime 增加了所必須的體系架構(gòu)以支持管理組件定位和調(diào)入的每個應(yīng)用程序策略,這通常被稱為并行配制。 組合體可以被一個應(yīng)用程序私有,或被多個應(yīng)用程序共享。
一個組合體的多個版本可以同時配制在同一臺機器上。應(yīng)用程序配制信息定義了到何處去查找組合體,這樣runtime就能為同時運行的兩個不同的應(yīng)用程序裝入同一組合體的不同版本。
這就消除了由組件版本的不兼容性引起的問題,提高了系統(tǒng)整體的穩(wěn)定性。如果必要,管理員可以為配制時刻的組合體增加配制信息,例如一個不同的版本策略,但是編譯時提供的原始信息永遠不會丟失。
因為組合體是自描述的,所以并不需要在系統(tǒng)上進行顯式注冊。應(yīng)用程序的配制簡單到只需將文件拷貝到目錄中既可(如果為了使應(yīng)用程序能夠運行,必須安裝未經(jīng)組織過的組件的話,情況會稍微復(fù)雜一點)。
配制信息保存在可被任何文本編輯器編輯的XML文件中。 最后,運行語言也提供完整的、普遍深入的安全服務(wù),以確保未經(jīng)授權(quán)的用戶不能訪問機器上的資源,并且代碼不會執(zhí)行未經(jīng)允許的動作。
這就提高了系統(tǒng)整體的安全性可靠性。 由于運行語言用于裝入代碼、生成對象、執(zhí)行方法調(diào)用,所以當受控代碼裝入內(nèi)存執(zhí)行時,運行語言能進行安全檢查,強化安全策略。
Microsoft 。NET框架不僅規(guī)定代碼訪問安全,還規(guī)定基于角色的安全。
通過代碼訪問安全機制,開發(fā)人員能為應(yīng)用程序指定完成工作所必需的權(quán)限。例如,代碼或許需要寫文件或訪問環(huán)境變量的權(quán)力。
這類信息和有關(guān)代碼標志的信息一起存儲在配制級上的。 當代碼裝入內(nèi)存及執(zhí)行方法調(diào)用時,運行語言驗證是否能給予代碼所要求的權(quán)限。
如果不能,將記錄一條安全沖突信息。給予權(quán)限的策略,這被稱為信任策略,是由系統(tǒng)管理員建立的,并且是建立在關(guān)于代碼的證據(jù)基礎(chǔ)之上,比如:代碼是誰發(fā)布的,是從什么地方獲得的,以及在組合體中找到的代碼標志和它要求的權(quán)限。
開發(fā)人員可以指定他們顯然不需要的權(quán)限,以防止其它人惡意使用他們的代碼。如果所需要的權(quán)限依賴直到運行時刻才會知道的信息,那么就可寫入綱鄰性的安全檢查。
除了代碼訪問安全,運行語言還支持基于角色的安全?;诮巧陌踩⑼a訪問安全一樣的權(quán)限模板,只是這些權(quán)限是建立在用戶的身份之上,而不是建立在代碼的標志之上。
角色表明了用戶所屬的類,并且可以在開發(fā)和配制階段定義。給予權(quán)限的策略被分配到每個預(yù)定義的角色。
在運行時刻,用戶的身份被確定,代碼將代表這個身份運行。運行語言決定用戶是哪個角色的成員,然后給予基于這個角色的權(quán)限。
ASP.NET是做web開發(fā)的。
你需要學(xué)習(xí)的前提知識有:HTML、T-SQL、Javascript、C#、B/S原理
在學(xué)習(xí)ASP.NET的時候,你需要掌握好:ASP.NET的系統(tǒng)對象、各種控件使用方法和特征、Web Service、
XML讀取寫入、文件讀取寫入、ASP.NET AJAX核心控件以及擴展控件的使用和特征。
這些知識都是基本的知識。如果要做好開發(fā)那么還要了解跟多的技術(shù)知識,以及最重要的行業(yè)經(jīng)驗。
.net自然離不開語言,比如你說的C#。
當然懂得html、javascript、css那就更好了。
還是根據(jù)你自己的工作來,學(xué)一些和工作先關(guān)的,這樣可以邊工作,邊學(xué)習(xí),邊學(xué)邊用,進步就會很快了!
還有一點,要看你的工作是涉及前端的多些,還是后臺。如果是前端的html、javascript、css就顯得很重要了。如果是后臺,C#語言的靈活應(yīng)用,通常的接口調(diào)用,通信數(shù)據(jù)交互就顯得尤為重要!
主要是,我自己在工作中的一點,算是經(jīng)驗吧。呵呵
asp.net可以使用VB、C#等任意語言,不管何種語言,輸出到瀏覽器端的東西差不多,HTML語言是最最基礎(chǔ)的。以上語言,學(xué)好一個就行了,根據(jù)你的情況,建議你C#吧。
需要的相關(guān)知識大致如下:
1,數(shù)據(jù)庫部分,不管Access還是MySQL抑或SQLSERVER,都需要掌握SQL語言,他們之間的不同在于效率,語言操作查詢很相似,MYSQL可能稍微難操作一些。
2,客戶端腳本部分,這里主要是JS。其實你JS學(xué)好了,C#就問題不大,或者說他們的語法和理念差不多。
3,在深入學(xué)習(xí)\開發(fā)的話,需要掌握的東西主要為系統(tǒng)組件\控件,用戶控件,動態(tài)控件,IHttpHandler,多線程等。
4,另外,平時多多注意編寫\收集并分類C#編程用到的一些好的程序片段\類等,這對于你快速編程很有幫助。比如,專門操作數(shù)據(jù)庫的類等。
希望對你有幫助。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:3.306秒