《ASP.NET MVC 企業級實戰》 - 學習筆記

来源:https://www.cnblogs.com/GATTACA2011/archive/2020/05/30/12990907.html
-Advertisement-
Play Games

《ASP.NET MVC 企業級實戰》 [作者] (中) 鄒瓊俊[出版] 清華大學出版社[版次] 2017年04月 第1版[印次] 2019年08月 第6次 印刷[定價] 89.00元 【第01章】 (P021) 只有在 Lambda 有一個輸入參數時,括弧才是可選的,否則括弧是必需的。 使用空括弧 ...


《ASP.NET MVC 企業級實戰》

========== ========== ==========
[作者] (中) 鄒瓊俊
[出版] 清華大學出版社
[版次] 2017年04月 第1版
[印次] 2019年08月 第6次 印刷
[定價] 89.00元
========== ========== ==========

【第01章】

(P021)

只有在 Lambda 有一個輸入參數時,括弧才是可選的,否則括弧是必需的。

使用空括弧指定零個輸入參數。

【第02章】

(P037)

EDM 中利用特性來標識實體映射到具體數據資料庫中的 TableName ,屬性對應的具體表的 ColumnName ,還有主鍵、外鍵、預設值等,都用特性來標識。然後通過反射技術, 從 EF 中 edmx 元數據獲取資料庫表的結構的描述,再根據增刪改查操作方法,就可以產生對應的 SQL 語句,然後發送給 ADO.NET 負責從資料庫中讀取數據,返回給我們的 EF 。

(P042)

禁用延遲的方法有 ToList() 、 FirstOrDefault() 、 Include() 等。

(P048)

IQueryable 其實繼承了 IEnumerable 。

EF 不支持複雜類型 (如實體) 的直接檢索,只能用簡單類型,比如常用的標量類型 string 、 int 和 guid 。

【第03章】

(P083)

控制器的約定大於配置 :

1. Controller 放到 Controllers 文件夾中,並且命名方式以 Controller 結尾;

2. 每個 Controller 都對應 View 中的一個文件夾,文件夾的名稱跟 Controller 名相同。 Controller 中的方法名都對應一個 View 視圖 (非必須,但是建議這麼做) 而且 View 的名字跟 Action 的名字相同;

3. 控制器必須是非靜態類,並且要實現 IController 介面;

4. Controller 類型可以放到其他項目中;

視圖的相關約定 :

1. 所有的視圖必須放到 Views 目錄下;

2. 不同控制器的視圖用文件夾進行分割,每個控制器都對應一個視圖目錄;

3. 一般視圖名字跟控制器的 Action 相對應 (非必須) ;

4. 多個控制器公共的視圖放到 Shared 目錄中;

【第04章】

(P085)

dynamic 型與 object 型的區別是在使用時它會自動根據數據類型轉換,而 object 型則需要自己去強制轉換。

(P087)

ViewBag 其實就是 ViewData ,只是多了一層 Dynamic 控制,可以說它是另一種訪問 ViewData 的方式。理論上 ViewBag 要比 ViewData 慢一點點,但是幾乎可以忽略,所以使用任何方式完全取決於個人的愛好。

(P090)

當前臺的 C# 代碼有多行時,如果這些代碼是連續的,中間沒有 HTML 代碼隔斷,那麼只需要開頭的一個 @ 符號即可;否則 HTML 代碼之後被隔斷的 C# 代碼開頭需要加上 @ 符號。

(P115)

@Html.Editor / @Html.Display 可以通過讀取特性值生成 HTML 。

【第05章】

(P134)

Routing 的作用是 :

1. 匹配傳入的請求 (不匹配伺服器物理文件),並將請求映射到 “控制器” 的具體操作 “Action 方法” 和 “參數” 中;

2. 調用並執行對應控制器類的 Action 方法;

{controller} 和 {action} 是特定參數名,不能改。

(P135)

不能有兩個連續的 URL 參數,參數之間必須有字元隔開。

(P141)

推薦使用 @Scripts.Render 的形式,因為它支持壓縮合併和伺服器緩存。

(P147)

區域路由註冊優先於普通路由註冊。

【第06章】

(P181)

@Html.AntiForgeryToken() 只能添加在 Html.BeginForm() 形式聲明的表單中,純 HTML 的 <form> 標簽表單是不行的。

【第07章】

(P204)

一個 Session 代表一個單線程的單元操作。 ISessionFactory 是線程安全的,很多線程可以同時訪問它。 ISession 不是線程安全的,代表與資料庫之間的一次操作。 ISession 通過 ISessionFactory 打開,在所有的工作完成後需要將其關閉。 ISessionFactory 通常是一個線程安全的全局對象,只需要被實例化一次。

SessionFactory 的創建很占用系統資源,一般在整個應用程式中只創建一次。

(P207)

NHibernate 映射文件以 .hbm.xml 結尾。

【第09章】

(P256)

沒必要花太多的時間去鑽研工作中用不到的東西,因為一個人的時間和精力都是有限的,說句現實的,你學的任何東西、只有真正用到了、有了產出才能體現出價值,對企業而言尤其如此。

(P262)

WCF 是 Windows 平臺上開發分散式應用最佳的實踐方式。

(P270)

每個 WCF 服務必須實現至少一個服務契約。使用服務契約必須要引用命名空間 System.ServiceModel 。

(P271)

ServiceHost 類型 : 當 IIS 和 WAS 作為宿主程式時, IIS 和 WAS 會自動創建 ServiceHost 類型。

(P279)

使用 js 的非同步操作不支持跨域訪問,也就是說 js 非同步調用操作必須和 WebAPI 在同一個站點上。

(P307)

在進行技術選型的時候,不要追求最新的,而應當選擇既能滿足需求又運行非常穩定的。因為最新的技術不但相關資料少,而且也沒有經過項目的實際驗證,學習成本很高,風險較大。

【第10章】

(P325)

搜索引擎一般不會執行 JS 、不會發 Post 請求、不會提交表單。

(P327)

SQL Server 的專業版才支持全文檢索功能。

(P333)

永遠不要對 bin / debug 下的東西做直接修改,而是要改 “源文件” 。

(P356)

儘量不要用 JavaScriptSerializer ,因為性能差,完全可以用 Newtonsoft.Json 來代替。

【第11章】

(P366)

框架則是各種設計模式的集合。設計模式是解決某一類問題的方法。

【第12章】

(P434)

在清楚需求之後,我們首先要做的就是技術選型。

(P435)

使用 EF Database First 方式需要註意的是 : 所有表必須設置主鍵,表和表之間的關係必須通過主外鍵進行關聯。

(P439)

新建解決方案文件夾可以打包一些項目,讓整個項目變得更清晰。

(P459)

DbContext 預設支持事務,當實例化一個新的 DbContext 對象時會創建一個新的事務,當調用 SaveChanges 方法時事務會提交。

(P465)

jQuery EasyUI 是一組基於 jQuery 的 UI 插件集合,而 jQuery EasyUI 的目標就是幫助 Web 開發者更輕鬆地打造出功能豐富並且美觀的 UI 界面。開發者不需要編寫複雜的 JavaScript ,也不需要對 CSS 樣式有深入的瞭解,需要瞭解的只有一些簡單的 HTML 標簽。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 概括來說,分三步: 1,首先找到是哪個進程的CPU占有率飆到了100%。 2,根據進程號pid,定位到是哪個線程,找到對應線程的tid。 3,導出對應線程的dump日誌文件,分析日誌文件定位具體代碼。 要解決這個問題,你應該具備以下技能: 1,linux的top命令。 2,jvm監控工具jps。 3 ...
  • 先上圖: @IT程式猿 微博網友評論: @迢書:前同事的,親眼見過 @AvenGeeker:Bug 404 @科技州:這是要逼死強迫症 @小島一瞥:哈哈哈哈哈我老家的車 最後小編整理了一套技術資料不僅能精準消除技術盲點、累計面試經驗,更可以攻剋JVM、Spring、分散式、微服務等技術難題。 海量電 ...
  • 為什麼需要持久化,以及Redis持久化的RDB方式在這篇文章講的已經很透徹了,足以弔打面試官了。而且此篇內容需要RDB文章的內容支持,所以建議先看下:看完這篇還不懂Redis的RDB持久化,你們來打我! 一、什麼是AOF 它也是Redis持久化的重要手段之一,aof->Append Only Fil ...
  • 在Startup ConfigureServices 註冊本地化所需要的服務AddLocalization和 Configure<RequestLocalizationOptions> public void ConfigureServices(IServiceCollection services ...
  • C# 中的LINQ 提供了兩種操作方式,查詢表達式和查詢操作符,所有的查詢表達式都有對應的查操作符類替代,查詢表達式有點“類” SQL,在代碼中寫SQL,總覺得不夠“優雅”,使用查詢操作符就顯得“優雅”很多, 本系列就來對所有的LINQ 標準操作符進行一個全面的總結,這些操作符和我上篇文章總結的Rx ...
  • 簡單瞭解下麵詞語的意思 節點:二叉樹中每個元素都稱為節點 葉子節點(簡稱:葉子):度為0的節點,葉子節點就是樹中最底段的節點,葉子節點沒有子節點,也叫終端結點 分枝節點:度不為0的結點 節點的度:二叉樹的度代表某個節點的孩子或者說直接後繼的個數,簡單說就是一個節點擁有的子樹數 樹的度: 樹中最大的結 ...
  • 前言 請了一天假後回公司,同事跟我說使用Newtonsoft.json序列化TreeView對象的時候出現報錯; 啊!什麼?這個類庫不是能夠序列化所有東西嗎?真的很懵逼,也是我第一次使用這個類庫出現問題! 問題異常 異常信息 : Newtonsoft.Json.JsonSerializationEx ...
  • 上一篇(https://www.cnblogs.com/meowv/p/12971041.html)使用HtmlAgilityPack抓取壁紙數據成功將圖片存入資料庫,本篇繼續來完成一個全網各大平臺的熱點新聞數據的抓取。 同樣的,可以先預覽一下我個人博客中的成品:https://meowv.com/ ...
一周排行
    -Advertisement-
    Play Games
  • 概述:在C#中,++i和i++都是自增運算符,其中++i先增加值再返回,而i++先返回值再增加。應用場景根據需求選擇,首碼適合先增後用,尾碼適合先用後增。詳細示例提供清晰的代碼演示這兩者的操作時機和實際應用。 在C#中,++i 和 i++ 都是自增運算符,但它們在操作上有細微的差異,主要體現在操作的 ...
  • 上次發佈了:Taurus.MVC 性能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本,今天計劃準備壓測一下 .NET 版本,來測試並記錄一下 Taurus.MVC 框架在 .NET 版本的性能,以便後續持續優化改進。 為了方便對比,本文章的電腦環境和測試思路,儘量和... ...
  • .NET WebAPI作為一種構建RESTful服務的強大工具,為開發者提供了便捷的方式來定義、處理HTTP請求並返迴響應。在設計API介面時,正確地接收和解析客戶端發送的數據至關重要。.NET WebAPI提供了一系列特性,如[FromRoute]、[FromQuery]和[FromBody],用 ...
  • 原因:我之所以想做這個項目,是因為在之前查找關於C#/WPF相關資料時,我發現講解圖像濾鏡的資源非常稀缺。此外,我註意到許多現有的開源庫主要基於CPU進行圖像渲染。這種方式在處理大量圖像時,會導致CPU的渲染負擔過重。因此,我將在下文中介紹如何通過GPU渲染來有效實現圖像的各種濾鏡效果。 生成的效果 ...
  • 引言 上一章我們介紹了在xUnit單元測試中用xUnit.DependencyInject來使用依賴註入,上一章我們的Sample.Repository倉儲層有一個批量註入的介面沒有做單元測試,今天用這個示例來演示一下如何用Bogus創建模擬數據 ,和 EFCore 的種子數據生成 Bogus 的優 ...
  • 一、前言 在自己的項目中,涉及到實時心率曲線的繪製,項目上的曲線繪製,一般很難找到能直接用的第三方庫,而且有些還是定製化的功能,所以還是自己繪製比較方便。很多人一聽到自己畫就害怕,感覺很難,今天就分享一個完整的實時心率數據繪製心率曲線圖的例子;之前的博客也分享給DrawingVisual繪製曲線的方 ...
  • 如果你在自定義的 Main 方法中直接使用 App 類並啟動應用程式,但發現 App.xaml 中定義的資源沒有被正確載入,那麼問題可能在於如何正確配置 App.xaml 與你的 App 類的交互。 確保 App.xaml 文件中的 x:Class 屬性正確指向你的 App 類。這樣,當你創建 Ap ...
  • 一:背景 1. 講故事 上個月有個朋友在微信上找到我,說他們的軟體在客戶那邊隔幾天就要崩潰一次,一直都沒有找到原因,讓我幫忙看下怎麼回事,確實工控類的軟體環境複雜難搞,朋友手上有一個崩潰的dump,剛好丟給我來分析一下。 二:WinDbg分析 1. 程式為什麼會崩潰 windbg 有一個厲害之處在於 ...
  • 前言 .NET生態中有許多依賴註入容器。在大多數情況下,微軟提供的內置容器在易用性和性能方面都非常優秀。外加ASP.NET Core預設使用內置容器,使用很方便。 但是筆者在使用中一直有一個頭疼的問題:服務工廠無法提供請求的服務類型相關的信息。這在一般情況下並沒有影響,但是內置容器支持註冊開放泛型服 ...
  • 一、前言 在項目開發過程中,DataGrid是經常使用到的一個數據展示控制項,而通常表格的最後一列是作為操作列存在,比如會有編輯、刪除等功能按鈕。但WPF的原始DataGrid中,預設只支持固定左側列,這跟大家習慣性操作列放最後不符,今天就來介紹一種簡單的方式實現固定右側列。(這裡的實現方式參考的大佬 ...