.Net Core 面試題

什麼是 asp .net core?

首先ASP net core不是 asp net的升級版本。它遵循了dot net的標準架構,
可以運行於多個操作系統上。它更快,更容易配置,更加模塊化,可擴展性更強。

.net core有哪些好的功能?

  1. 依賴注入。
  2. 日誌系統架構。
  3. 引入了一個跨平臺的網絡服務器,kestrel。可以沒有iis, apache和nginx就可以單獨運行。
  4. 可以使用命令行創建應用。
  5. 使用APP settings json file來配置工程。
  6. 使用start up來註冊服務。
  7. 更好的支持異步編程。
  8. 支持web socket和signal IR。
  9. 對於跨網站的請求的預防和保護機制。

.net core 和 .net 比較有哪些更好的地方?

  1. 跨平臺, 可以運行在三大操作系統上面 Windows , Linux , Mac。
  2. 對架構本身安裝沒有依賴,因爲所有的依賴都跟程序本身在一起。
  3. .net core 處理請求的效率更高,能夠處理更多的請求。
  4. .net core 有更多的安裝配置方法。

.net core 應用能夠跟 .net 4.x 架構一起工作嗎?

可以。.net core 可以跟標準的.net 庫一起工作。

什麼是 .net core 的 startup class?

Startup class是.net core應用的入口。所有的 .net core應用必須有這個class。
這個類用來配置應用。這個類的調用是在program main函數裏面進行配置的。類的名字可以自己定義。

Startup class的 config service方法有什麼作用?

這個方法裏我們可以添加一些 service 進入依賴注入容器。

startup class的configure方法有什麼作用?

這個方法來定義整個應用如何響應HTTP請求。它有幾個比較重要的參數,
application builder,Hosting environment, logo factory,
在這裏我們可以配置一些中間件用來處理路徑,驗證和session等等。

什麼是中間件?

中間件在這裏是指注入到應用中處理請求和響應的組件。

application builder的use和run方法有什麼區別?

這兩個方法都在start up class的configure方法裏面調用。
都是用來嚮應用請求管道里面添加中間件的。
Use方法可以調用下一個中間件的添加,而run不會。

.net core 管道里面的map拓展有什麼作用?

可以針對不同的路徑添加不同的中間件。

dot net core裏面的路徑是如何處理的?

路徑處理是用來爲進入的請求尋找處理函數的機制。
所有的路徑在函數運行開始時進行註冊。
主要有兩種路徑處理方式,
常規路徑處理和屬性路徑處理。
常規路徑處理就是用MapRoute的方式設定調用路徑,
屬性路徑處理是指在調用函數的上方設定一個路徑屬性。

什麼是dot net core裏面的tag helper?

Tag helper用來在服務器端使用Razor視圖引擎創建html元素的。

如何使tag helper在元素這一層上失效?

使用歎號。

什麼是Razor頁面?

是.net core中支持ASP網頁表格的一種開發模型。@page 作爲頁面的起始標誌。

如何在Razor頁面中實現數據模型綁定?

使用bindproperty屬性。

如何在controller中注入service?

在config services方法中配置這個service。
在controller的構造函數中,添加這個依賴注入。

描述一下依賴注入後的服務生命週期?

在dot net core中,
我們不需要關心如何釋放這些服務,
因爲系統會幫我們釋放掉。
有三種服務的生命週期。
單實例服務, 通過add singleton方法來添加, 在註冊時即創建服務, 在隨後的請求中都使用這一個服務。
短暫服務, 通過add transient方法來添加。是一種輕量級的服務,用於無狀態服務的操作。
作用域服務,一個新的請求會創建一個服務實例。使用add scoped方法來添加。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章