《Asp.Net 2.0 揭秘》讀書筆記(十四)

來源:互聯網
上載者:User

建立組件

首先這裡的組件不是通常意義的組件

*動態編譯的過程的一個主要缺陷就是如果組件中出現任何錯誤,會導致整個網站出錯不能運行;

*不同語言編寫的組件需要放在不同的檔案夾中,如果是一種語言寫的就無所謂;

*靜態(static)在其它語言中被稱作共用,它是沒有任何執行個體歸屬的;這句話太好了啊,記得學C++的時候就一直搞不懂,一直都是從它的實現機制上去理解,啥靜態不變的啦,後來用了一段時間後不這麼想了,但是一直沒有一個很好的理解總感覺缺點什麼,共用兩個字真的太好了,它的後半句話也解釋了為什麼靜態變數不能引用其它的變數;

*Asp.Net這種多線程環境中使用共用成員變數和屬性,可能會引發一些稀奇古怪的多線程並發問題,如果一定要使用靜態屬性,請盡量將其定義為唯讀;這個問題也一直困擾著我,哎,看好書就是如此的獲益匪淺啊;

*靜態建構函式在所有執行個體建構函式執行前執行,並且在程式生命中只執行一次,哈哈,這個是我當初看到有人用的時候自己悟出來,想想自己都感覺自己天才,吹完了~

*抽象類別是Asp.Net 2.0 Provider的基礎,如Personalization、Membership、Roles、等;

*新群組件類庫的時候一般都要引用System.Web.dll的引用;

*引用有兩種方法,一個是放在Bin目錄下,不知道咋回事windows的程式都是直接自動搜尋目前的目錄下的Bin檔案夾中的程式集,另一個是直接放全域組件快取中就是C:\\windows\assembly

*添加到全域緩衝簽必須要先請命名程式集,類似於GUID,命令列工具(sn.exe –k KeyPair.snk),產生KeyPair.snk檔案,中放著隨機產生了公/私密鑰;

*在AssemblyInfo.cs中

[assembly:AssemblykeyFile("KeyPair.snk")][assembly:AssemblyVersion("0.0.0.0")]

四個0分別代表主要版本號、副版本號碼、構建編號和修訂編號

*加入全域緩衝命令列(GacUtil.exe /i MyLibrary.dll)

*config中添加引用的程式碼範例:

<system.web>  <comilation>    <assemblies>      <add assembly="MyLibrary,Version=0.0.0.0,Culture=neutral,PublicKeyToken=123456123456"/>    </assemblies>  </coml\pilation></system.web>
*通常情況下避免全域應用程式集的使用
*當程式開始進入架構設計的時候會有很多問題值得思考,反正我只知道沒有最完美的設計只有最適合當前的設計!
慢慢來,加油吧;
*簡單的三層應用page468

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.