asp.net修行入門指導

來源:互聯網
上載者:User

標籤:雙引號   標記語言   jquer   響應   請求   介紹   擷取   地址   hand   

突然想起來大學的一個專業課老師,教C,C#,他的教學特點就是只教簡單知識,現在想想真有道理,假如上來就教我們枯燥難以理解的高深知識,我們會恐懼編程的,極大地打擊學習的興趣,所以他C語言的指標從來沒教過我們(我是考軟考及工作中自學的指標,感覺還不錯)。

言歸正傳:

《HTML》

html是標籤解釋性語言,瀏覽器的頁面是不是繪圖文檔?把標籤控制項元素繪製到這個文檔圖面上?這個繪製過程是不是用瀏覽器引擎(一直不太理解引擎在軟體中的意思)完成的(還是有遊覽器核心的功能完成的)?繪圖是不是由圖層疊加N層(像ps製作圖,winform拖一個控制項就是一個圖層,微觀想象成圖層很厚)而來?

標準的html是遵守xhtml約定的。

《CSS》

瀏覽器在繪製渲染(不太理解渲染與繪製的區別)標籤元素控制項的時候,是不是除了繪製元素本身,再根據(感覺用尋找,尋找更準確)樣式來進一步繪製?

主要的三種樣式:樣式找元素(這個範圍是N(N>0));元素找樣式(.class選取器);一對一的尋找(ID選取器);

樣式的位置:元素內聯<head中<單獨link檔案(目的也是為了松耦合)

《JavaScript》

瀏覽器能執行js程式是不是用了一個解釋一行代碼就可以執行一個代碼的工具(這點我也不懂)?js是解釋性弱語言(直接按照正常邏輯思維理解),沒有資料類型的概念,好像不是申明一個資料類型,而是直接要一個記憶體空間(只是個人理解)?這個記憶體空間可以動態存各種“類型”的資料?可以類比物件導向的各種類型,js中的閉包好像調用一個方法,返回結果又是一個方法,這要明白,C語言中的方法名表示一個記憶體位址,這樣這個記憶體位址一直使用中,就可以儲存調用方法的局部變數了。我記得C#中的委託,有個target對象,這個對象就可以取到委託處理函數寄宿的對象。

js引用的方式:元素載入後<script>標籤中<頁面head標籤中<單獨的js檔案中。(同樣是體現隔離松耦合或者是通用提取集中管理)

用var申明一種類型(其實沒有類型的概念,如果去掉var相當於頁面變數);數組是一種特殊的字典。var arr=[1,2,3,4]; var dic={"name":wwj,"age":30};這是簡寫初始化對象。

字串用單引號或雙引號都可以。

《DOM》

DOM是把頁面上的元素構造成一個樹狀對象。用JS指令碼來操作DOM對象。頁面上標籤控制項的事件是不是也走的訊息佇列模式?像Winform一樣,視窗事件觸發後把訊息給作業系統,作業系統再把訊息給應用程式的訊息佇列,然後調用相應的處理函數。DOM好像是api類庫,js可以調用其中的對象(類庫是不是在瀏覽器進程中或者類庫檔案在哪裡?)

dom中的常用對象是Window對象(我理解成入口對象),dom最常用的操作就是選取器與過濾器,因為要在dom這個對象樹上尋找要操作的對象。

document.getElementById("元素ID")

事件的處理函數是誰,及事件調用那個方法執行,這是兩種寫法。

《JQuery》

因為各個瀏覽器操作dom的方法不是完全相同,所以JQuery把這些差異封裝起來提供統一的訪問方式,內部應該是把判斷不同瀏覽器的操作封裝在JQuery方法內部。

鏈式編程是建立在隱式迭代的基礎上。在此匿名方法表現的淋漓盡致(因為方法只是臨時用一次,沒必要起名稱)

因為需要對介面元素進行操作,所以選取器,過濾器是擷取介面元素對象的方式。

《WebForm》

先探討原理:http通過socket通訊,端與端(IPEndPoint)的通訊,用戶端把資料發到伺服器端,IIS等web伺服器來監聽請求,完成端與端通訊。

asp.net是不是一個外掛程式架構?我們的web應用程式跑在這個微軟寫的外掛程式架構上(比如大型的傳統型程式就是採用外掛程式架構osgi或者自己實現)?凡是架構都有很多約束規則

HttpRuntime有個PR方法來處理請求,所以asp.net首先會把請求封裝成HttpWorkerRequest。然後繼續封裝成HttpContext對象,這種對象屬於逐步填充對象,它把處理過程中所有需要的參數都組合到一個對象裡。參數有了,接下來HttpRuntime建立處理請求對象HttpApplication。這個對象採用處理管道的方法把處理函數拋出來。(具體是採用反射的方法建立IHttpModule來註冊我們的事件處理函數【外掛程式架構基本都會用到反射】)而真正處理請求的是在處理管道第八個事件PostMapRequestHandler觸發的時候建立(擷取)IHttpHandler處理常式。在第11個事件PreRequestHandlerExecute之後,HttpApplication執行處理常式的PR方法。

asp.net都是圍繞請求,處理,響應的模型啟動並執行。

只有form中帶name的value及cookie才會提交到伺服器,當然對webform來說還有viewstate。

webform中的頁面aspx是一種模板,(把模板理解成裡面有很多佔位符,.net程式處理後替換預留位置,然後渲染回瀏覽器)。

瀏覽器只認識html標記語言,所以.net會把伺服器標籤渲染成html標籤,原生的html當成字串原樣發回瀏覽器。

《Ajax》

目的是整個頁面不重新整理,只是局部重新整理。對IE來說,JS在瀏覽器端new一個XMLHttpRequest(如同C#非同步new一個WebClient發送請求)向處理常式發請求,然後回調我們寫的處理函數。

《MVC》

asp.net這個架構是怎麼把webform請求的URL換成請求控制器的方法?(包括架構把請求URL對應成WebForm的頁面,這些都是asp.net這個架構所完成的功能)

由於aspx耦合度太高,太臃腫,MVC這個擴充架構把它分成控制器和視圖。一個控制器裡可以有N個action方法,這樣也避免了html+js+ajax+一般處理常式模式中太多的處理常式的問題。

  以上只是個人理解,後續會在工作中繼續深入理解。

  本人目前處於離職狀態,有合適的伺服器端開發工作,請幫忙介紹一下,先謝謝了。

 

asp.net修行入門指導

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.