C# - Fluent Scheduler

기본 주 기능: 지정된 시간에 실행해야 할 Job을 등록해 놓으면 해당 시간이 되면 Job을 실행한다. 오픈 소스: https://github.com/jgeurts/FluentScheduler 설치: Nuget으로 쉽게 설치할 수 있다. 예제 코드 1) 현재 등록된 job 개수 // 만약 이전에 job을 등록한적이 없다면 // TaskManager.Initialize(new Registry());...
더 읽기

C# - Process

실행중인 프로세스트의 디렉토리 위치 string 현재위치 = Environment.CurrentDirectory; 다른 프로세스 실행 System.Diagnostics.Process.Start("실행파일경로\실행파일명.exe",파라메터) System.Diagnostics.Process.Start("cmd.exe 명령어"); C# - 배치 파일 실행하고 출력 결과를 얻는 방법 http://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&detail=1&pageno=0&wid=1810&rssMode=1&wtype=0 프로세스 종료 System.Diagnostics.Close(); // 프로세스의 리소스를 해재(종료) 시킨다. System.Diagnostics.CloseMainWindow(); // UI가 있는 프로세스에 메시지를 보내 종료...
더 읽기

C# - config-r

개요 scripts와 Roslyn을 사용하여 스크립트 방식의 설정 파일을 사용할 수 있다. 저장소 https://github.com/config-r/config-r NuGet으로 설치 Quickstart NuGet으로 설치 실행 파일과 같은 이름의 .csx 파일을 프로젝트에 추가(예 실행파일 이름이 ConsoleApplication1.exe 라면 ConsoleApplication1.exe.csx). 추가한 파일의 프로젝트 속성 ‘Copy to Output Directory’에서 Web...
더 읽기

C# - Async/Await

http://csharpstudy.com/CSharp/CSharp-async-await.aspx C# 5.0 이 나온 이후 각 써드파티 라이브러리에서 비동기 메소드 지원 간편한 비동기 프로그래밍:async/await http://www.simpleisbest.net/post/2013/02/06/About_Async_Await_Keyword_Part_1.aspx http://www.simpleisbest.net/post/2013/02/12/About_Async_Await_Keyword_Part_2.aspx http://www.simpleisbest.net/post/2013/02/16/About_Async_Await_Keyword_Part_3.aspx http://www.simpleisbest.net/post/2013/02/28/About_Async_Await_Keyword_Part_4.aspx http://www.simpleisbest.net/post/2013/03/12/About_Async_Await_Keyword_Part_5.aspx ###async를 사용한 가상 함수 정의 virtual public async Task<bool> Process() { var task = new TaskCompletionSource<bool>(); await task.Task; return task.Task.Result;...
더 읽기

C# - Windows Event Log

개발 시에 Windows가 제공하는 이벤트 로그를 사용하면 로그 보기/관리가 쉬워진다. C# 을 이용해 Windows Event Log 쓰기 [http://mainia.tistory.com/412] static void Main(string[] args) { WriteEventLogEntry("This is an entry in the event log by daveoncsharp.com"); } private static void WriteEventLogEntry(string message) {...
더 읽기

C# - WM_COPY_DATA

참고 글 http://www.codeproject.com/KB/cs/ipc_wmcopy.aspx http://www.codeproject.com/KB/threads/InterprocessCommunicator.aspx http://www.codeproject.com/KB/cs/wm_copydata_use.aspx MessageWindow http://www.codeproject.com/KB/threads/IPCBetManagdUnmanagd.aspx 예제 코드 const int WM_COPYDATA = 0x4A; [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern IntPtr SendMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam); ................ //Process[] AppServerProcess = Process.GetProcessesByName("LoginServer"); //................. //SendMessage(AppServerProcess[0].MainWindowHandle, WM_COPYDATA, IntPtr.Zero, iPtrForCdsMsg);...
더 읽기

C# - NLog

특징 오픈소스 닷넷 플랫폼 로그 라이브러리 .NET Compact, mono도 지원 사용이 쉽고, 설정은 설정 파일과 소스 코드를 통한 2가지 방법 제공. 옵션 지정으로 버퍼링, 비동기, 로드 밸런싱, 장애대처 등을 할 수 있다. 출력 옵션 Files - single file or multiple,...
더 읽기

C# - 정규 표현식 라이브러리 VerbalExpressions

소개 기존의 복잡한 방식의 정규식을 이해하기 쉽도로 해주는 라이브러리. 처음에는 JavaScript용으로 나왔지만 이후 대부분의 언어를 지원하고 있다. 소스 코드는 GitHub에 공개 되어 있다. https://github.com/VerbalExpressions/CSharpVerbalExpressions 간단 예제 [TestMethod] public void TestingIfWeHaveAValidURL() { // Create an example of how to test for...
더 읽기

C# - Thread Local

닷넷 프레임워크 4.0 에서 추가 이전에는 비슷한 것으로 ThreadStatic 속성이 있었음 그러나 static 멤버에만 사용 가능. 멤버의 값은 보통 그 타입의 기본 값으로 초기화된다. 초기 값을 설정해도 무시된다. ThreadLocal 클래스는 위의 문제를 모두 해결 사용 방법 ThreadLocal<int> _id = new...
더 읽기