.NET Core 구성 파일 로드 및 구성 데이터의 DI 주입
.NET Core 구성 파일
기존에는 .NET의 구성 파일이 App.config/Web.config 등 XML 형식이었지만, .NET Core에서는 JSON 형식을 사용하는 것이 좋습니다. . 구성 파일은 사용이 더 유연하고 .NET Core에서 DI를 사용하여 구성 데이터를 삽입할 수 있기 때문입니다.
사용법:
var config = new ConfigurationBuilder() .AddInMemoryCollection() //将配置文件的数据加载到内存中 .SetBasePath(Directory.GetCurrentDirectory()) //指定配置文件所在的目录 .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) //指定加载的配置文件 .Build(); //编译成对象 Console.WriteLine(config["test"]); //获取配置中的数据 config["test"] = "test test"; //修改配置对象的数据,配置对象的数据是可以被修改的 Console.WriteLine(config["test11"]); //获取配置文件中不存在数据也是不会报错的 Console.WriteLine(config["theKey:nextKey"]); //获取:theKey -> nextKey 的值
구성 파일 appsettings.json 파일 콘텐츠:
{ "test": "testVal", "theKey": { "nextKey": "keyVal" } }
참고:
ConfigurationBuilder에서 패키지를 추가해야 합니다. Microsoft.Extensions.Configuration"
AddJsonFile은 "Microsoft.Extensions.Configuration.Json"
DI와 함께 사용
var sp = new ServiceCollection() .AddOptions() //注入IOptions<T>,这样就可以在DI容器中获取IOptions<T>了 .Configure<TestCls>(config.GetSection("TestCls")) //注入配置数据 //也可以对注入的配置数据进行修改 .Configure<TestCls>(t => { t.Name = "Jame"; //修改Name的值 }) .BuildServiceProvider(); //编译 var test = sp.GetService<IOptions<TestCls>>(); //获取注入的配置数据对象 Console.WriteLine(JsonConvert.SerializeObject(test.Value)); //{"Name":"Jame","Age":123} //下面的代码中检验Configure注入的配置数据对象是单例模式的(.NET Core中DI容器的三种生命周期:Singleton(单例), Scoped(作用域), Transient(瞬态)) var test1 = sp.GetService<IOptions<TestCls>>(); Console.WriteLine(test == test1); //true //创建一个新的作用域获取配置数据对象 var test2 = sp.GetService<IServiceScopeFactory>().CreateScope().ServiceProvider.GetService<IOptions<TestCls>>(); Console.WriteLine(test == test2); //true
구성 테스트 클래스:
public class TestCls { public string Name { get; set; } public int Age { get; set; } }
appsettings.json의 콘텐츠:
{ "TestCls": { "Name": "Tom", "Age": 123 } }
참고:
ServiceCollection에서는 "Microsoft.Extensions. 종속성 주입"
AddOptions를 사용하려면 "Microsoft.Extensions.Options.ConfigurationExtensions"
Startup.cs -> 시작 구성 사용 패키지를 추가해야 합니다. ASP.NET Core에서 다음 메서드에서 구성 파일을 초기화합니다.
var builder = new ConfigurationBuilder() .AddInMemoryCollection() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); Configuration = builder.Build();
Startup.cs -> 파일:
services.AddOptions() //注入IOptions<T> .Configure<TestCls>(Configuration.GetSection(nameof(TestCls))) .Configure<TestCls>(test => { test.Name = "Jame"; //修改Name的值 });
컨트롤러에 삽입됨:
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } }, "TestCls": { "Name": "Tom", "Age": 123 } }
액세스:/api/values
[Route("api/[controller]")] public class ValuesController : Controller { IOptions<TestCls> _test; public ValuesController(IOptions<TestCls> test) { _test = test; } [HttpGet] public string Gets() { return JsonConvert.SerializeObject(_test.Value); }
.Net Core 그래픽 확인 코드
2. .NET Core CLI 도구 문서 dotnet-publish
3. .Net Core용 ZKEACMS 자세히 소개

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Microsoft의 Windows 11 2022 업데이트(22H2)는 기본적으로 CoreIsolation의 메모리 무결성 보호를 활성화합니다. 그러나 Windows 11 2022 업데이트(22H1)와 같은 이전 버전의 운영 체제를 실행하는 경우 이 기능을 수동으로 켜야 합니다. Windows 11에서 CoreIsolation의 메모리 무결성 기능 켜기 Core Isolation에 대해 모르는 사용자를 위해 Windows의 기본 핵심 활동을 메모리에서 격리하여 악성 프로그램으로부터 보호하도록 설계된 보안 프로세스입니다. 메모리 무결성 기능과 결합된 이 프로세스는 다음을 보장합니다.

코어는 컴퓨터에서 두 가지 의미를 갖습니다. 1. 코어라고도 알려진 코어는 CPU의 가장 중요한 구성 요소입니다. CPU의 모든 계산, 저장 명령 수락 및 데이터 처리는 코어에서 수행됩니다. core는 Intel의 프로세서 이름이며, Core는 Intel이 Pentium 프로세서에 이어 출시한 프로세서 브랜드입니다. 현재 12세대 Core 프로세서를 출시했습니다.

오늘날 인공지능(AI) 기술 개발은 본격화되고 있으며, 다양한 분야에서 큰 잠재력과 영향력을 보여주고 있습니다. 오늘 Dayao는 여러분에게 몇 가지 참고 자료를 제공하고자 4개의 .NET 오픈 소스 AI 모델 LLM 관련 프로젝트 프레임워크를 공유할 것입니다. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel은 OpenAI, Azure와 같은 대규모 언어 모델(LLM)을 통합하도록 설계된 오픈 소스 소프트웨어 개발 키트(SDK)입니다.
![Windows 11/10에서 프로세서 열 트립 오류를 수정하는 방법 [수정]](https://img.php.cn/upload/article/000/000/164/168169038621890.png?x-oss-process=image/resize,m_fill,h_207,w_330)
노트북, 데스크탑 등 대부분의 장치는 오랫동안 젊은 게이머와 코더들이 많이 사용해 왔습니다. 애플리케이션 과부하로 인해 시스템이 중단되는 경우가 있습니다. 이로 인해 사용자는 시스템을 종료해야 합니다. 이는 주로 무거운 게임을 설치하고 플레이하는 플레이어에게 발생합니다. 강제 종료 후 시스템이 부팅을 시도하면 아래와 같이 검은색 화면에 오류가 발생합니다. 다음은 이 부팅 중에 감지된 경고입니다. 이는 이벤트 로그 페이지의 설정에서 볼 수 있습니다. 경고: 프로세서 열 트립. 계속하려면 아무 키나 누르세요. ..이러한 유형의 경고 메시지는 데스크탑이나 노트북의 프로세서 온도가 임계값 온도를 초과할 때 항상 표시됩니다. 아래에는 Windows 시스템에서 이런 일이 발생하는 이유가 나와 있습니다. 많은 무거운 응용 프로그램이 있습니다

.NET 개발자라면 고품질 소프트웨어 제공에 있어 기능과 성능 최적화의 중요성을 인식해야 합니다. 제공된 리소스를 전문적으로 활용하고 웹 사이트 로드 시간을 줄임으로써 사용자에게 즐거운 경험을 선사할 뿐만 아니라 인프라 비용도 절감할 수 있습니다.

.NETCore의 출시로 .NET 개발자는 여러 운영 체제에서 .NET 애플리케이션을 쉽게 작성하고 실행할 수 있는 새로운 기회를 갖게 되었습니다. 이 문서에서는 .NETCore를 사용하여 크로스 플랫폼 애플리케이션 개발을 달성하는 방법을 살펴보고 Windows, Linux, macOS와 같은 운영 체제에 대한 모범 사례 경험을 공유합니다. 1. 개발 환경 준비 크로스 플랫폼 애플리케이션 개발을 시작하려면 먼저 각 대상 플랫폼에 대한 개발 환경을 준비해야 합니다. Windows Windows에서는 Visual Studio를 통해 .NETCoreSDK를 설치할 수 있습니다. 설치가 완료되면 Visual Studio를 통해 .NETCore 프로젝트를 만들고 실행할 수 있습니다. 리

높은 동시성 요청 처리 측면에서 .NETASP.NETCoreWebAPI는 JavaSpringMVC보다 성능이 뛰어납니다. 그 이유는 다음과 같습니다. 시작 시간을 줄여주는 AOT 조기 컴파일, 개발자가 개체 메모리 할당 및 해제를 담당하는 경우.
