728x90 반응형 ASP.NET11 .NET에서 사용되는 주요 풀링(Pooling) 기법 정리 .NET 프레임워크에서는 성능과 리소스 효율성을 위해 다양한 풀링(Pooling) 기법이 사용된다. 풀링은 공통적으로 "객체를 필요할 때마다 새로 생성하지 않고, 재사용 가능한 객체를 미리 만들어두거나 다시 활용하는 방식"이다. 이 글에서는 ASP.NET을 포함해 .NET 환경에서 자주 사용되는 주요 풀링 기법을 정리한다. 1. HttpApplication Pooling 개념 ASP.NET은 웹 요청이 들어올 때마다 HttpApplication 인스턴스를 새로 생성하지 않고, 일정 수의 인스턴스를 미리 생성해 풀(pool)에 보관하고 요청 처리 시 재사용한다.목적요청마다 객체를 생성하는 비용을 줄임GC(가비지 컬렉션) 부담 완화스레드 연결 및 이벤트 핸들링 최적화관련 클래스HttpApplicationF.. 2025. 6. 22. ASP.NET Web Forms 요청부터 응답까지, 내부 구조 완전 정복 1. 요청 수신 – IIS에서 시작1-1. HTTP.sys (커널 모드 HTTP 리스너)Windows OS의 커널 레벨에서 HTTP 요청 수신요청 도착 시 등록된 URL에 따라 애플리케이션 풀로 요청을 전달워커 프로세스(w3wp.exe)가 없으면 새로 생성됨1-2. IIS 요청 처리 방식 (버전별 차이)IIS 6 이하ISAPI 확장aspnet_isapi.dll로 ASP.NET 요청 처리, IIS와 ASP.NET 파이프라인 분리됨IIS 7 이상통합 파이프라인요청 파이프라인 통합, 네이티브 모듈과 ASP.NET 모듈이 동일 이벤트 흐름에서 작동 2. ASP.NET 애플리케이션 초기화2-1. AppDomain 생성AppDomain이란?애플리케이션 단위로 격리된 실행 환경하나의 물리적 프로세스(w3wp.exe.. 2025. 6. 22. .NET의 컴파일 과정: C#에서 IL, DLL, JIT, 기계어까지, 그리고 CLR의 역할 .NET 애플리케이션은 코드가 컴파일되고 실행되는 과정에서 여러 단계의 변환을 거칩니다. 이 과정은 C#과 같은 고수준 언어에서 작성된 코드가 최종적으로 하드웨어에서 실행될 때까지의 복잡한 여정을 설명합니다. 이 포스팅에서는 C# 코드가 어떻게 실행되는지를 살펴보고, IL(Intermediate Language), DLL, JIT(Just-In-Time) 컴파일, 그리고 CLR(Common Language Runtime)이 각각 어떤 역할을 하는지 알아보겠습니다. 1. C# 코드 작성.NET 애플리케이션 개발자는 C#으로 소스 코드를 작성합니다. 예를 들어, 간단한 두 숫자를 더하는 클래스를 작성할 수 있습니다:// MyMath.cspublic class MyMath{ public int Add(i.. 2024. 9. 7. aspx와 ascx의 차이 ASPX와 ASCX는 모두 ASP.NET 웹 애플리케이션에서 사용되는 파일 형식입니다. 둘 다 HTML과 서버 사이드 코드를 혼합하여 웹 페이지를 동적으로 생성하는 데 사용되지만, 각각의 목적과 사용 방식이 다릅니다. 1. ASPX (Active Server Pages Extended)정의: ASPX 파일은 ASP.NET에서 웹 페이지를 정의하는 파일입니다. 이 파일은 웹 애플리케이션의 개별 페이지를 구성하며, 사용자가 브라우저에서 직접 접근할 수 있는 단위입니다.구조: ASPX 파일은 HTML, CSS, JavaScript와 같은 클라이언트 사이드 코드와 서버 사이드 코드(예: C# 또는 VB.NET)를 포함할 수 있습니다. 서버 사이드 코드는 태그 사이에 작성되며, 페이지가 요청될 때 서버에서 실행.. 2024. 9. 7. bin과 obj 폴더의 역할 bin과 obj 폴더는 일반적으로 .NET 프로젝트에서 중요한 역할을 합니다. 이 두 폴더는 주로 빌드 및 배포와 관련된 폴더로, 프로젝트가 컴파일되고 실행될 때 필요한 파일들을 관리합니다. bin 폴더역할- 프로젝트가 빌드될 때 생성된 실행 파일(assembly)과 필요한 의존성 파일을 포함합니다. - 주로 .dll 파일(컴파일된 어셈블리), 배포 시 필요한 구성 파일(예: .pdb, .config) 및 외부 라이브러리 파일이 위치합니다. 주요 파일- 프로젝트의 컴파일 결과물: 컴파일된 어셈블리 파일(예: MyProject.dll). - 참조된 외부 라이브러리: NuGet 패키지에서 가져온 외부 .dll 파일. - PDB 파일: 디버깅 정보를 포함한 파일 (예: MyProject.pdb). 웹 배포 시.. 2024. 9. 7. [Asp.net] C# .NET 프로젝트에서 ChatGPT API 연동하기 1. SDK 설치하기 마켓에 검색해보니, 여러 SDK나 라이브러리가 나옵니다. 그 중 마음에 드시는 걸 고르면 됩니다. 저는 Betalgo.OpenAI를 설치하였는데, 다른 라이브러리를 쓰셔도 무방할 듯 합니다. 가장 첫 상단에 나오는 OpenAI 라이브러리가 다운로드 수는 더 높네요. 2. 프로젝트 아키텍처 아키텍처는 아래 그림과 같이 구성해 보겠습니다. 클라이언트 단에서 텍스트를 입력하고, 버튼을 누르면 콜백 함수를 실행시킬 것이고, 실행시킨 콜백 함수에서 텍스트를 받아서, OpenAI 서버로 전달하는 프로세스입니다. 3. API KEY 생성하기 https://openai.com/ OpenAI Creating safe AGI that benefits all of humanity openai.com 에.. 2023. 11. 30. 이전 1 2 다음 728x90 반응형