분류 전체보기 썸네일형 리스트형 IIS 재시작시 클라이언트 요청 없이 자동로딩 설정 IIS의 경우, 기본설정된 상태에서는 재시작을 하면, 클라이언트의 요청이 들어오면 어플리케이션을 로딩한다.이 기능은 Tomcat 같은 다른 WAS에도 존재하는 것으로 사실 좋은 기능이다. 서버가 메모리를 효율적으로 관리하도록 도와주는 것이니까.이것은 사용자의 요청이 일정시간이 지나면 Sleep 상태가 되도록 하는 설정과 함께 사용하면 매우 좋다.그러나 어플리케이션 백그라운드에서 스케줄링 업무가 있을 경우에는 매우 답이 안나오는 기능이 된다.클라이언트로부터 처음 요청이 들어오기 전에는 스케줄링 업무도 동작하지 않을 것이기 때문이다. 그럼 이렇게 말하는 사람이 있을 수 있다. IIS에 설정에 일정시간 지나면 Sleep 설정을 해제하고, 관리자가 웹으로 처음 요청을 보내서 어플리케이션을 로딩한 다음에 서버를 .. 더보기 C# 멀티쓰레드에서 Winform 컨트롤 변경시 동기화 방법 윈폼 프로젝트를 생성하고, TextBox를 하나 추가하였고, 아래와 같은 소슬 작성하였다.private void Form1_Load(object sender, EventArgs e) { Thread th = new Thread(test); th.Start(); } void test() { textBox1.Text = "열려라 참깨"; } 그리고 빌드를 진행하니 아래와 같이 '크로스 쓰레드' 에러가 발생하였다.원인은 메인 쓰레드에서 객체를 가지고 있는데, 딴 넘이 와서 설정을 변경하니 발생한 에러다.그래서 이럴 경우는 동기화를 시켜줘야한다.아래와 같이 Invoke()나 BeginInvoke()를 메소드를 사용해서 동기화 할수 있다.delegate void testDel(); private void Form.. 더보기 c# 하위 디렉토리 포함하여 파일 검색하기 먼저 소스를 공개하겠다. namespace FileReader { class Program { static int count = 1; static void Main(string[] args) { DirFileSearch(@"D:\데이터", "dat"); } static void DirFileSearch(string path, string file) { try { string[] dirs = Directory.GetDirectories(path); string[] files = Directory.GetFiles(path, $"*.{file}"); foreach(string f in files) { // 이 곳에 해당 파일을 찾아서 처리할 코드를 삽입하면 된다. Console.WriteLine($"[{cou.. 더보기 윈도우10 흔들어서 최소화 기능 끄기(Disable Aero Gesture) 윈도우 쓰다보면 창 위치 이동하는데 다른 창들이 최소화 되서 짜증날 때 있다. 다시 흔들면 복구 된다고 하는데, 안될때도 있다...그럴 땐 머리속이 니ㅏ억재ㅑ;ㅗㄹ냉;ㅑㅁㄷ재ㅑㄱㄹㄴ이런 상태가 된다. 한국 사이트에서 좀 뒤져봤더니 gpedit.msc에서 변경하는 방법만 잔뜩 올라와 있더라.근데 문제는 내 컴은 저거 실행 안된다.누군가 저 블로그에 안된다고 다른 방법 없냐고 댓글 다니까 블로거라는 양반은 '나는 되는데요?' 라고 적었다.자기가 된다고 남들도 다 된다는 마인드 좋지 않죠~~~일단 잡설은 여기까지....===========================================================================그래서 구글링을 해서 양키가 올려놓은 글을 찾았다.양키가 알.. 더보기 [c#] 메소드 내에 return을 쓰는 경우 유의사항 오늘에서야 알게 된 것...메소드 내에서 try-catch문을 썼고, try 안에 return 문을 넣고 finally에 어떤 코드를 삽입했는데,황당하게 finally 문을 다 수행하고 마지막에 리턴을 하는 것이었다. 맞다...이건 원래 그런 것이다..ㅡㅡ 오늘에서야 알게된 이 허접함이란 참....;;; 그리고 또, 메소드 안에 using()문을 쓰고, 그안에 return 문을 넣었더니, return을 씹는다...;;;열심히 구글링을 해봤더니, 양키가 using문 안에 return 문을 넣어봤자 안된단다.그러니 using문 바깥에서 변수를 선언해서 using문 안에서 그 변수에 값을 넣어주고 using문이 끝난후에 그 변수를 리턴해 주는 방식으로 하란다. 그렇다... return 하면 무조건 그 줄까지만.. 더보기 [c#] 폼안에 컨트롤 가운데 정렬 가운데 정렬하는 방법은 아래와 같다. button1.Left = (this.ClientSize.Width - button1.Width) / 2 ; button1.Top = (this.ClientSize.Height - button1.Height) / 2; button1은 Button 컨트롤의 인스턴스이다.만약에 가로만 가운데로 정렬하기 원한다면 left 값만 설정하면 된다. 더보기 [c#] 웹 구축시 Log4net 설정하기 먼저 web.config 파일의 안에 아래의 내용을 추가한다. 위에 DebugAppender는 VisualStudio에서 immediate window에 로그를 남기는 기능을 한다. RollingFileAppender는 로그 파일을 파일에 쓴다. rollingStyle을 Date로 하고 yyyyMMdd와 같이 쓰면 매일 새로운 로그파일이 생성되고 위와 같이 yyyyMM까지만 작성시에는 매월마다 파일이 작성된다. root 아래에 level을 value를 변경하여 로그 레벨을 설정할 수 있다. 레벨은 ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF 이렇게 있다. 다음으로 Global.asax 파일의 namespace 윗부분에 아래와 같은 assembly a.. 더보기 [c#] 파일 내의 특정 줄 읽어오기 파일 내의 특정 줄을 읽는 메소드가 제공되는지 찾아보았는데, MS에서는 특정 줄을 읽어오는 메소드는 제공되지 않는다. 대신, FileStream.Seek 메소드를 통해 파일 포인터로 접근하는 것이 가능하지만, 한줄의 텍스트 길이가 일정하지 않는이상 특정줄을 찾아가는 것이 불가능하다. 고로 어쩔 수 없이 ReadLine 메소드를 여러번 루프를 돌려서 찾아가는 수 밖에 없다. 소스는 아래와 같다. var fileLastStrList = new List(); string path = string.Format(rawFilePath + "silo{0}.dat", siloNum); using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read,.. 더보기 IIS 라이선스에 대해... IIS기반의 웹서비스를 구축하던 중 어떤 블로거의 라이선스에 대한 글을 보고 움찔했다. 내용인 즉은, 윈도우 OS를 구입했더라도 IIS로 웹서비스를 구축하면 비용이 든다는 것이다. 이래저래 사람들 의견이 분분해서 직접 MS에 전화를 해서 알아봤더니 IIS에 별도의 비용은 없다고 한다. IIS는 윈도우의 한 기능으로 보기 때문이라고 한다. 고로 윈도우의 라이선스만 있다면 추가적인 비용은 발생하지 않는다. 잘못된 정보가 쓰여진 블로그가 네이버 상단에 검색된 것은 참 씁쓸한 일이다. 더보기 윈도우10 업데이트 시 (0x80070422)에러 해결 방법 랜섬웨어에 주의하라는 기사가 떠서 윈도우 업데이트를 하려했더니 에러가 나네요. 문제를 해결하는 방법은 여러가지가 있지만 저의 경우는 아래와 같이 해결했습니다. 1. 시작버튼 옆에 windows 검색 부분에 "서비스"를 입력하거나 윈도우 + R 키를 누른후, service.msc 를 입력하여 서비스관리 창을 띄웁니다. 2. 목록에서 'windows update'를 찾아서 마우스 오른쪽 클릭 후 속성 화면으로 갑니다. 3. 아래와 같이 설정을 변경합니다. 4. 마지막으로 '적용' 버튼을 누르고 일반 탭으로 다시 돌아오면 '시작' 버튼이 활성화 되어 있을 것입니다. 시작 버튼을 누릅니다. 그리고 다시 업데이트를 진행하면 잘 동작합니다. PS. 만약에 이 방법이 안되시면, MS 사이트가셔서 업데이트 파일을 직접.. 더보기 이전 1 2 3 4 다음