목록C# (6)
개발자 성장일지

ProcessProcess는 GUI 화면을 통해 자동/수동 선택을 통해 txt 파일을 파싱하여 데이터베이스에 저장하는 프로그램입니다. 1. 개발배경Client로부터 전송받은 txt 파일을 서버 DB에 저장하는 프로그램이 필요하였습니다.해당 프로그램은 실행 시 특정 디렉터리에 txt 파일이 생성되는지 실시간으로 감시하고 생성 시 해당 txt 파일을 읽어 해당 내용을 서버 DB의 특정 테이블에 저장하는 역할을 수행합니다.또한 수동 설정 시에는 감시하는 폴더뿐 아니라 내가 원하는 폴더의 txt 파일을 선택하여 해당 파일을 DB에 저장할 수 있습니다. 2. 주요기능 및 구조1) 폴더 감시- 특정 디렉토리에 .txt 파일이 생성되는지 실시간 감시프로그램은 특정 디렉토리에 .txt 파일이 생성되는지를 실시간으로 ..
Client측에서 Sender를 통해 전송한 파일을 서버에서 받아 특정 폴더에 보관하고 성공 여부를 Client측으로 반환하는 Receiver API를 간단하게 구현한 구조를 소개합니다. 1. 구조요약1) ASP.NET Web API (.NET Framework)2) 새로운 프로젝트에 Controller만 추가하여 간단한 API 형태로 제작3) HttpPost 방식으로 파일 수신4) 파일 수신 후 결과를 Client 측으로 return5) 에러 발생 시 txt 파일에 에러 기록 2. 파일 수신 컨트롤러(FileUploadController.cs) 정리 및 특징1) 간단한 구조로 구성했지만, IniFile 기반 설정 활용을 통해 유지보수성과 유연성을 확보2) WinForm 및 Windows Service로..
이전에 [sender - 1편] Winform을 활용한 DB 조회와 파일 생성과 전송을 통해 DB에서 데이터를 조회하여 해당 내용을 txt 파일로 생성하고 특정 URL로 전송하는 것까지 정리하였는데 이번에는 해당 내용을 좀 더 확장하여 위의 기능을 Windows Service 프로그램으로 구현하여 해당 프로그램을 윈도우서비스에 등록하여 PC의 백그라운드에서 해당 기능이 항상 작동해야 할 필요가 있어서 Windows Service 형태로 구현하였습니다. 1. 확장이 필요한 이유1) Winform의 경우 해당 프로그램을 누군가가 항상 실행시켜줘야 하고 해당 프로그램의 창을 실수로 닫을 경우 해당 기능은 정지됩니다. 따라서 운영환경에 적합하도록 서비스로 전환하여 시스템 부팅 시 자동 실행되고 사용자 개입 없이..

여러 프로그램의 데이터베이스에서 데이터를 조회하고, 설정값에 따라 서버 전송 또는 메일 발송을 수행하는 자동화 도구1. 개발 배경반복적인 데이터 수집 및 수집 정보 전송 업무를 자동화하는 기능과 특정 날짜의 데이터만 조회하여 해당 데이터를 .수집, 전송하는 데이터 전송 툴이 필요하였습니다.이 툴은 여러 프로그램의 데이터베이스를 주기적으로 조회하고, 결과 데이터를 .txt 파일로 가공한 뒤, 서버로 업로드하거나 메일로 전송하는 역할을 수행합니다. 2. 주요 기능 및 구조1) 자동/수동 모드- Client.ini의 TIMER 설정에 따라 자동(REPEAT)/수동(FIX) 모드 선택ini 파일의 TIMER 항목의 값을 읽어서 해당 값을 기준으로 REPEAT 일 경우에는 일정 간격으로 데이터베이스를 조회합니다...
1. 윈도우 서비스 프로그램으로 로그온한 유저의 화면에 UI 프로그램을 실행시키기 위해서는 일반적인 Process.Start() 갗은 명령어로 실행이 불가능하며 설령 실행이 이루어져도 해당 프로세스가 백그라운드로 실행될 뿐 UI요소는 접근이 불가능합니다. 2. 윈도우 서비스 프로그램으로 UI 프로그램을 실행시키기 위해서는 로그온한 유저의 세션을 획득하여 프로세스를 생성하면 가능합니다. 3. 로그온한 유저의 세션을 획득하는 방법으로는 windows에 내장된 라이브러리 중 advapi32.dll을 사용하여 그 안에 있는 CreateProcessAsUser()를 이용하여 프로세스를 생성하면 해당 프로세스는 유저 세션을 획득하여 동작할 수 있습니다. 4. StartProcessAndBypassUAC 함수를 사용..

1.서버컨트롤을 이용하여 데이터를 처리하게 되면 각각의 컨트롤들은 처리가 된 후에도 계속해서 해당 상태를 유지하는 특징이 있다. 2. 그러한 특징은 뷰스테이트라고 불리는 것 때문이다. asp.net은 언제나 _VIEWSTATE 값을 계속해서 보내며 유지시킨다. 3. ASP.NET에서 이러한 행위를 하는 것을 포스트백(Postback)이라고 한다. 1. 사용자가 GET으로 웹 브라우저로 요청 (eventtest.aspx) ▶ 주소창에 입력하는 모든 방식은 GET 방식이다. 2. 서버처리(eventtest.aspx)가 일어난다. ▶ asp.net이 해석한다는 말이다. 3. Page_Load 이벤트를 호출. ▶ 우리가 늘 프로그램 코드를 넣을 때 사용했던 메서드이다. 4. HTML 응답 생성 ▶ 결과물은 그래..