Develop/C#
[C#] ASP.NET API URL 대소문자 구분 안하게 설정
ASP.NET API Routing Lowercase 수정 전 /api/Checkdb : success /api/checkdb : fail Routing 설정 # program.cs var builder = WebApplication.CreateBuilder(args); builder.Services.AddRouting(option => { option.LowercaseUrls = true; }); var app = builder.Build(); 수정 후 /api/Checkdb : success /api/checkdb : success
[C#] ASP.NET API Cors 전체 허용
ASP.NET API Cors 허용 UseCors 설정 http, https 허용 # Program.cs var app = builder.Build(); app.UseCors(x => { x.AllowAnyHeader(). AllowAnyMethod(). AllowAnyOrigin(). SetIsOriginAllowed(origin => true). WithOrigins("http://*"). WithOrigins("https://*"). AllowCredentials(); });
[C#] 압축 해제
예제 public static bool ExtractZip(string filePath, string fileName, bool overwriting) { try { using (ZipArchive arch = ZipFile.Open(Path.Combine(filePath, fileName), ZipArchiveMode.Update, Encoding.UTF8)) { IReadOnlyCollection zipList = arch.Entries; foreach (ZipArchiveEntry zipItem in zipList) { // 간혹 파일명을 잘못 읽을 경우, 파일명에 ?가 포함되어 Exception이 발생할 수 있음. // ? 제거 작업 zipItem.ExtractToFile(Path.Combine(..
[C#] EUC-KR Encoding 추가
한글 깨짐 현상 발생 시 C#에서 간혹 한글이 깨질 경우 EUC-KR로 인코딩을 해줘야 하지만 기본 탑재가 되어 있지 않아 추가 작업 필요 예제 public static Encoding EUCKREncoding() { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Encoding euckr = Encoding.GetEncoding(949); return euckr; } //EUCKREncoding 함수 직접 호출 public static main(){ StreamReader sr = new StreamReader("./test.txt",EUCKREncoding()); sr.close(); } 테스트 환경 .NET 5 Console 추가 -..
[C#] Thread 에서 Main Thread 간섭하기.
BeginInvoke private void Thread_Invoke_Function(){ this.BeginInvoke(new Action(delegate() { //Main Thread에 작업할 내용 })); }
[C#] 서비스 제어하기 (시작 / 종료 / 상태 검사)
using System.ServiceProcess; private void Service_Control_Function(){ ServiceController sc = new ServiceController("Service Name"); //ServiceControllerStatus.Running : 서비스 실행 상태 //ServiceControllerStatus.StartPending : 서비스 시작 중 //ServiceControllerStatus.Stopped : 서비스 정지 상태 //ServiceControllerStatus.StopPending : 서비스 중지 중 //ServiceControllerStatus.Paused : 서비스 일시정지 상태 //ServiceControllerStatus.Pa..
[C#] 예외 처리 (try - catch - finally)
private void try_catch(){ try{ //Error Code } catch(Exception e){ Console.writeLine("Message : " + e.Message()); Console.writeLine("Error Namespace : " + e.Source()); Console.writeLine("Error method : " + e.TargetSite()); Console.writeLine("Error Code Line : " + e.StackTrace()); } finally{ Console.writeLine("Final Code"); } } try : 예외가 발생하는지 검사할 부분 catch : 예외가 발생하였을 경우 진행되는 부분 finally : 예외 발생 유무..
[C#] bat 파일 실행할 때 로그를 Listbox에 넣기
12345678910111213141516171819202122 private void thread_bat(ProcessStartInfo psi, string fileName, string filePath) { //filePath : 파일 전체 주소 //fileName : 파일 이름 (Listbox 표시를 위해 추가) //psi : ProcessStartInfo 지정 psi.FileName = filePath; //psi.Arguments = @"Test.bat"; psi.RedirectStandardOutput = true; psi.UseShellExecute = false; Process proc = Process.Start(psi); while (true) { string txt = proc.Sta..
[C#] Thread에 값 전달하기
Thread th = new Thread(() => functionName(param1, param2, param3) );12345Thread th1 = new Thread(() => api_load("String1","String2", chart1,label9));th1.Start(); Thread th2 = new Thread(() => api_load("String1","String2", chart2,label10));th2.Start();Colored by Color Scriptercs
[C#] mysql 사용하기
아래 사이트에서 mysql-connector 다운로드 https://downloads.mysql.com/archives/c-net/ Operation System : .Net & Mono 선택Version은 본인이 원하는 것으로 선택. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657using MySql.Data.MySqlClient;using MySql.Data;using System.Data;using System; namespace sports{ class test { //Insert, Delete, Update 사용 static void writefunc() ..