Programming 9

DLL 파일 통째로 프로젝트 빌드

Npgsql 소스 코드를 프로젝트에 추가하여 디버깅하는 방법Npgsql 소스 코드 다운로드소스 코드가 포함된 프로젝트 생성:Visual Studio 또는 다른 C# 개발 환경에서 새로운 .NET 프로젝트를 생성한다.프로젝트 유형은 Class Library 또는 Console Application으로 설정할 수 있다. Npgsql 코드 자체는 라이브러리 프로젝트로 적합하지만, 사용 예제나 테스트 코드를 작성하려면 콘솔 애플리케이션이 유용할 수 있다.Npgsql 소스 코드를 프로젝트에 추가:다운로드한 Npgsql 소스 코드 폴더에서, 필요한 소스 파일들을 복사하여 새로 만든 프로젝트에 추가한다.일반적으로 Npgsql 폴더의 모든 .cs 파일을 프로젝트에 포함시켜야 한다. 이때, 폴더 구조를 유지하여 프로젝트..

Programming/C# 2024.09.01

Npgsql - connection

NpgsqlConnection PostgreSQL 데이터베이스와의 연결을 나타내는 클래스 NpgsqlConnectionStringBuilderPostgreSQL 연결 문자열을 구성하고 관리하는 데 사용되는 클래스 NpgsqlConnectorPostgreSQL 서버와의 물리적 연결을 나타내는 클래스npgsqlConnection 이 이 클래스를 사용해서 DB 작업 수행 NpgsqlConnectorPool연결 풀을 관리하는 클래스*여러 포트에 대해 각각 connectorpool 인스턴스 생성됨 NpgsqlTransactionPostgreSQL 데이터베이스에서 트랜잭션 관리 NpgsqlCommandSQL 명령을 PostgreSQL 데이터베이스에 전달하는 데 사용되는 클래스 NpgsqlDataReader데이터베이..

Programming/C# 2024.09.01

Npgsql - Connection Pooling

Connection Pooling 이란?데이터베이스와의 연결을 열고 닫는 비용을 줄이기 위해 사용되는 기술이다.PostgreSQL과 같은 데이터베이스 시스템에서는 클라이언트가 서버에 연결을 요청할 때마다 새로운 연결을 생성하고, 작업이 끝난 후에 이를 종료하는 것은 매우 비효율적일 수 있다. Connection Pooling을 사용하면, 애플리케이션이 데이터베이스에 연결을 요청할 때마다 새로운 연결을 생성하지 않고, 이미 생성된 연결을 재사용할 수 있다. npgsql 4.0.10using System;using Npgsql;class Program{ static void Main() { // 연결 문자열에 연결 풀링 관련 설정 포함 var connectionString..

Programming/C# 2024.09.01

DLL 추가 / 열기 및 수정 / 추출

DLL : 동적 링크 라이브러리, 프로그램에서 공통으로 사용되는 코드, 데이터, 그리고 리소스를 모듈화하여 여러 응용 프로그램이 공유할 수 있도록 만드는 파일 형식이다.C# 프로젝트에 DLL  파일을 참조하여 다른 사람이 만든 라이브러리를 사용할 수 있다.DLL 개념 (tistory.com) DLL 추가 프로젝트를 열어 참조(reference) 를 우클릭하면 참조 추가가 나온다.  준비해둔 DLL 파일을 선택하여 프로젝트에 추가한다.  DLL 이 추가된 것을 확인할 수 있다.   해당 라이브러리를 확인하고 싶다면 더블클릭해서 구조를 확인한다. 코드에서 사용하고 싶다면 using 구문으로 해당 라이브러리를 추가한다.  클래스를 불러온 후, 인스턴스 선언하여 사용한다.   DLL 열기DLL 파일은 보통 바이..

Programming/C# 2024.09.01

C# - npgsql & IIS 포트

포트 1개만 개방 시 문제가 없지만, 포트 2개로 실행할 때 npgsql 에러 발생 연결 풀링(Connection Pooling) 문제:Npgsql의 기본 설정은 연결 풀링(Connection Pooling)을 사용하도록 되어 있습니다. 이때 애플리케이션이 여러 포트(즉, 여러 웹사이트 또는 애플리케이션 풀)를 통해 동일한 데이터베이스 서버에 연결하려고 하면 연결 풀 간의 경쟁이나 충돌이 발생할 수 있습니다.포트 하나로 실행할 때는 연결 풀이 하나만 사용되므로 문제가 발생하지 않지만, 포트 두 개를 사용하면 두 개의 연결 풀이 충돌하여 오류가 발생할 수 있습니다.포트 간 연결 경합 또는 포트 충돌:IIS에서 포트 두 개를 열면, 두 개의 애플리케이션 풀 또는 두 개의 웹사이트 인스턴스가 생성될 수 있습니..

Programming/C# 2024.08.30

C# - GPDB 커넥션 에러

npgsql 4.0.10 버전 사용 에러 메시지npgsql.npgsqlexception(0x80004005): exception while reading from stream --> system.io.ioexception : 전송 연결 연결된 구성원으로부터 응답이 없거나, 끊어졌습니다 npgsqlexception ?.NET 애플리케이션에서 PostgreSQL 데이터베이스와의 통신 중 발생하는 예외데이터베이스와의 연결 문제, 쿼리 실행 오류, 서버 응답 오류 등.. IOException ?.NET 또는 Java와 같은 프로그래밍 환경에서 입출력(I/O) 작업 중에 발생하는 예외.파일, 네트워크 스트림, 디바이스 등의 읽기, 쓰기, 열기, 닫기 등의 작업에서 오류가 발생할 때 던져진다.  https://he..

Programming/C# 2024.08.26

C# 에서 서버 간 JSON 데이터 주고받기

C#에서 서버 간 데이터를 주고받기 위해 주로 HTTP 요청을 사용하며, 이 과정에서 JSON 형식의 데이터를 주고받는 것은 매우 일반적이다.  1. JSON 형식의 데이터 준비A 서버에서 전송할 데이터를 JSON 형식으로 직렬화한다. C#에서는 Newtonsoft.Json 라이브러리나 .NET의 내장 기능을 사용하여 객체를 JSON으로 직렬화할 수 있다.using System;using System.Net.Http;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;public class MyData{ public int Id { get; set; } public string Name { get; set; }}public..

Programming/C# 2024.08.19

C# 파일 구성

C# 및 .NET 개발 환경에서 사용되는 파일 구성과 파일 형식 MySolution/├── MySolution.sln├── MyProject/│ ├── MyProject.csproj│ ├── bin/│ │ ├── Debug/│ │ │ └── MyProject.exe│ │ └── Release/│ │ └── MyProject.exe│ ├── obj/│ │ ├── Debug/│ │ │ └── TemporaryGeneratedFile.cs│ │ └── Release/│ │ └── TemporaryGeneratedFile.cs│ ├── Properties/│ │ └── AssemblyInfo.cs│ ├── R..

Programming/C# 2024.08.19

DLL 개념

DLL (Dynamic Link Library) : 동적 링크 라이브러리, 프로그램에서 공통으로 사용되는 코드, 데이터, 그리고 리소스를 모듈화하여 여러 응용 프로그램이 공유할 수 있도록 만드는 파일 형식이다. DLL 을 사용하는 이유 코드 재사용:여러 프로그램에서 동일한 코드를 사용할 수 있게 해준다. 이렇게 하면 코드 중복을 줄이고, 유지보수성을 향상시킬 수 있다.메모리 절약:DLL을 사용하는 프로그램은 메모리에서 공통으로 사용되는 모듈을 한 번만 로드한다. 이렇게 하면 메모리 사용량이 줄어들어 시스템 리소스가 절약됩니다.모듈화 및 관리 용이:프로그램 기능을 여러 DLL로 나누어 관리하면, 특정 기능에 문제가 발생하거나 업데이트가 필요할 때 해당 DLL만 수정하거나 교체할 수 있다.프로그램 크기 감소..

Programming/C# 2024.08.19