.Net Core DI 服務生命週期

Scoped:每次Post/Get Request在Application結束前,都會使用相同的instance

Transient:每次注入都會建立新的instance

Singleton:應用程式從開始到結束,使用的都是同一個instance。(ex:執行應用程式後,會先進入Program,接著執行Post/Get Request,接著再執行一次Post/Get Request。這種情況使用的都是同一個Service實體。第二次Post/Get Request不會再進入Program,不算Application結束)。

...繼續閱讀 »

DI & IoC_何謂相依性&耦合性

控制反轉(Inverse of Control, IoC)是一種設計模式,相依性注入(Dependency Injection)則是實踐IoC的一種方式,為什麼要IoC? 先來看看物件導向S.O.L.I.D.原則裡面的D.,依賴反轉原則(Dependency inversion principle,DIP)有下列特性:

  1. 高層次的模組不應該依賴於低層次的模組,兩者都應該依賴於抽象介面。
  2. 抽象介面不應該依賴於具體實現。
  3. 而具體實現則應該依賴於抽象介面。
...繼續閱讀 »

.Net Core使用ADO.Net方式直接下SQL撈取資料,並存放置自定義類別

.Net Core其實也可以使用.Net Framework時期那種ADO.Net的寫法

只是取連線字串的方式有點不同。其他步驟都大同小異

流程大致如下:

1.於建構子注入IConfiguration。之後就可以用實作GetValue取得appsettings.json裡的連線字串

2.下SQL做查詢,並用SqlDataAdapter接資料並塞進DataSet

3.把DataRow跟Model做Mapping。傳到View時就可以用強型別寫Razor語法

 

...繼續閱讀 »