.Net Core學習筆記 框架特性(注入、配置)

注:直接學習的.Net Core 6,此版本有沒有startup.cs相關的內容

項目Program.cs文件中 是定義項目加載 啟動的地方

//通過builder對項目進行配置、服務的加載

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();//將項目中的控制器及相關的服務注冊到容器中
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();//將Swagger相關服務注冊到容器

----------------------------------------------------------------------------------------------------

builder.Services.AddScoped<服務>();//注入目標文件,如業務層、數據訪問層文件

//調用此服務的主體一般在構造函數中添加注入方式

例:?private readonly UserOperateServices _operateService;
? ? ? ? public UserController(UserOperateServices service)
? ? ? ? {
? ? ? ? ? ? this._operateService = service;
? ? ? ? }

? ? ? ? //_operateService.Execute();

?//不使用構造注入的方式??只有在調用Test的時候,才注入MyService1,且不需要在構造函數中有

? ? ? ? [HttpGet("Testtest")]
? ? ? ? public string Test([FromServices] UserOperateServices myService1, string name)?
? ? ? ? {
? ? ? ? ? ? var names = myService1.GetNames();
? ? ? ? ? ? return string.Join(",", names) + ",hello:" + name;
? ? ? ? }
//當我們想注冊服務的時候,主要把注冊代碼放到builder.Build()之前就可以
//注冊代碼的順序不會影響程序運行的效果
var app = builder.Build();
?

--------------------------------------------------------------------------------------------------------

//在CreateBuilder方法中已經完成了配置系統的初始化,就不再需要使用service.AddOption方法來注冊選項的相關服務
builder.Host.ConfigureAppConfiguration((_, configBuilder) => { //此處下劃線是拋元,類似于占位符
? ? string connStr = builder.Configuration.GetConnectionString("configServer");//在用戶機密里的節點
? ? configBuilder.AddDbConfiguration(() => new SqlConnection(connStr));
});
//需要寫配置類和配置節點的綁定
builder.Services.Configure<SmtpOptions>(builder.Configuration.GetSection("Smtp"));//SmtpOptions是配置實體類
---------------------------------------------------------------------

EF Core 與原先的使用區別不大,因為新框架注入的需求,在使用的形式上有需要處理的部分

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14368.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14368.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14368.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ubuntu服務器運行Subspace節點和Farm

提供Subspace 節點部署&性能優化&機房托管&運維監控等服務。myto88 磁盤格式化 將插入的磁盤格式化。 sudo mkfs.ext4 -m 0 -T largefile4 /dev/sd*磁盤掛載 此處為語雀內容卡片&#xff0c;點擊鏈接查看&#xff1a;https://www.yuque.com/u25096009/lvoxa…

企商在線榮登甲子光年“2024中國AI算力層創新企業”榜單

5月15日&#xff0c;「AI創生時代——2024甲子引力X科技產業新風向」大會在北京順利舉辦&#xff0c;大會發布2024【星辰100】創新企業榜。企商在線憑借全棧式一體化AI算力能力&#xff0c;與超聚變、寒武紀等企業共同入選“2024中國AI算力層創新企業”榜單。 本次大會由中國科…

AJAX(JQuery版本)

目錄 前言 一.load方法 1.1load()簡介 1.2load()方法示例 1.3load()方法回調函數的參數 二.$.get()方法 2.1$.get()方法介紹 2.2詳細說明 2.3一些例子 2.3.1請求test.php網頁并傳送兩個參數 2.3.2顯示test返回值 三.$.post()方法 3.1$.post()方法介紹 3.2詳細說明 …

什么是云計算安全?如何保障云計算安全

云計算徹底改變了數據存儲的世界&#xff0c;它使企業可以遠程存儲數據并隨時隨地從任何位置訪問數據。存和取變得簡單&#xff0c;也使得云上數據極易造成泄露或者被篡改&#xff0c;所以云計算安全就顯得非常重要了。那么什么是云計算安全&#xff1f; 其實&#xff0c;云計…

WPS PPT學習筆記 1 排版4原則等基本技巧整理

排版原則 PPT的排版需要滿足4原則&#xff1a;密性、對齊、重復和對比4個基本原則。 親密性 彼此相關的元素應該靠近&#xff0c;成為一個視覺單位&#xff0c;減少混亂&#xff0c;形成清晰的結構。 兩端對齊&#xff0c;1.5倍行距 在本例中&#xff0c;19年放左邊&#x…

是誰的項目還在爛大街?一個基于 SpringBoot 的高性能短鏈系統

看了幾百份簡歷&#xff0c;真的超過 90% 的小伙伴的項目是商城、RPC、秒殺、論壇、外賣、點評等等爛大街的項目&#xff0c;人人都知道這些項目爛大街了&#xff0c;但大部分同學還是得硬著頭皮做&#xff0c;沒辦法&#xff0c;網絡上能找到的、教程比較完善的就這些項目了&a…

基于機器學習預測未來的二氧化碳排放量(隨機森林和XGBoost)

基于機器學習預測未來的二氧化碳排放量&#xff08;隨機森林和XGBoost&#xff09; 簡介&#xff1a; CO2排放是當今全球關注的環境問題之一。本文將使用Python對OWID提供的CO2排放數據集進行分析&#xff0c;并嘗試構建機器學習模型來預測未來的CO2排放趨勢。我們將探索數據…

kafka Kerberos集群環境部署驗證

背景 公司需要對kafka環境進行安全驗證,目前考慮到的方案有Kerberos和SSL和SASL_SSL,最終考慮到安全和功能的豐富度,我們最終選擇了SASL_SSL方案。處于知識積累的角度,記錄一下kafka keberos安裝部署的步驟。 機器規劃 目前測試環境公搭建了三臺kafka主機服務,現在將詳細…

ViLT學習

多模態里程碑式的文章&#xff0c;總結了四種多模態方法&#xff0c;根據文字和圖像特征特征抽取方式不通。 文章的貢獻主要是速度提高了&#xff0c;使用了數據增強&#xff0c;文本的mask 學習自b站朱老師的論文講解

電賽控制類PID算法實現

一、什么是PID PID&#xff08;Proportional-Integral-Derivative&#xff09;是一種經典的控制算法&#xff0c;廣泛應用在自動化控制系統中。它是通過對被控對象的測量值和設定值進行比較&#xff0c;并根據誤差的大小來調整輸出信號&#xff0c;實現對被控對象的穩定控制。 …

【C++】map和set的封裝

目錄 前言一、紅黑樹的設計1.1 紅黑樹存儲節點的設計1.2 紅黑樹的迭代器1.3 map的設計1.4 set的設計1.5關于map與set的const_iterator設計 前言 我們知道map和set的底層都是用紅黑樹實現的&#xff0c;但是set和map的結構不一樣&#xff0c;set只有一個參數K&#xff0c;而map…

前端基礎:1-2 面向對象 + Promise

面向對象 對象是什么&#xff1f;為什么要面向對象&#xff1f; 通過代碼抽象&#xff0c;進而藐視某個種類物體的方式 特點&#xff1a;邏輯上遷移更加靈活、代碼復用性更高、高度的模塊化 對象的理解 對象是對于單個物體的簡單抽象對象是容器&#xff0c;封裝了屬性 &am…

如何安裝 Docker

引言 - 介紹 Docker 技術的重要性和應用場景 - 簡要解釋 Docker 的工作原理和優勢 Docker 的安裝 Docker 在不同平臺上的安裝方法&#xff08;Windows、Mac、Linux&#xff09; Docker 是一個開源的容器化平臺&#xff0c;可以幫助開發人員和運維團隊更輕松地打包、交付和運行…

python 裝飾器 帶參數和不帶參數

裝飾器是Python語言中一種特殊的語法&#xff0c;用于在不修改原函數代碼的情況下&#xff0c;為函數添加額外的功能或修改函數的行為。通過裝飾器&#xff0c;我們可以在函數執行前后執行一些額外的代碼&#xff0c;或者修改函數的參數。 要使用裝飾器引入函數和參數&#xf…

Linux_應用篇(07) 系統信息與系統資源

在應用程序當中&#xff0c;有時往往需要去獲取到一些系統相關的信息&#xff0c;譬如時間、日期、以及其它一些系統相關信息&#xff0c;本章將向大家介紹如何通過 Linux 系統調用或 C 庫函數獲取系統信息&#xff0c; 譬如獲取系統時間、日期以及設置系統時間、日期等&#x…

restTemplate返回報文亂碼問題

默認服務端使用UTF8編碼 排查1&#xff1a; 請求前手動設置UTF-8編碼解析報文 RestTemplate restTemplate new RestTemplate(); restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); ResponseEntity<String> excha…

三能一體運營體系助力政企支撐水平提升

生產力的發展是現代社會孜孜不倦的追求&#xff0c;由此產生了我們熟悉的“機械化、電子化、信息化”乃至現今正在發生的“智能化”四次工業革命。這些是由技術的突破性發展帶來的&#xff0c;但我們也注意到生產力發展的另一個助力&#xff0c;即生產效率的提升&#xff0c;19…

【MySQL數據庫】mysql日志管理、備份與恢復

mysql日志管理、備份與恢復 MySQL數據庫備份及日志一、數據庫備份分類&#xff1a;如何選擇邏輯備份策略 (頻率)完全備份與恢復備份恢復 增量備份與恢復實現增量備份 基于時間點與位置恢復 二.MySQL日志管理 MySQL數據庫備份及日志 在生產環境中&#xff0c;數據的安全性是至關…

在未來你將何去何從?

在數字化的浪潮中&#xff0c;信息技術行業無疑是推動全球經濟和社會發展的重要動力。隨著科技的不斷迭代與進步&#xff0c;云計算、大數據、人工智能&#xff08;AI&#xff09;、物聯網&#xff08;IoT&#xff09;、5G通信和區塊鏈等技術已經深入到我們生活的每一個角落&am…