개발67 CSV 파일 작성 public byte[] GetCsv() { var stream = new MemoryStream(); var csvWriter = new StreamWriter(stream, Encoding.GetEncoding("shift-jis")); csvWriter.WriteLine(String.Format("{0},{1},{2},{3}", "aaa", "bbb", "ccc", "ddd")); csvWriter.Flush(); return stream.ToArray(); } 원글 작성일 2017-01-10 2019. 1. 23. ASP.NET http접속을 https로 리다이렉트 시키기 http로 접속시에 https로 리다이렉트 시키고 싶을 경우, IIS의 설정을 변경하거나 어플의 Web.config을 설정을 변경하는 등 선택지는 여러가지가 존재하지만 이번엔 어플 측에서 설정하는 방법을 알아보았습니다. web.config 원글 작성일 2016-12-28 2019. 1. 23. ASP.NET MVC : 비연속의 Array 요소를 Model에 바인딩 시키기 과제 프론트 엔드 측에서 특정의 조건일때만 input 항목을 생성시켜 입력값을 넘겨 받는데 그 입력 항목이 배열일 경우에는 name값의 순서가 연속성을 가지지 않기 때문에 Model에 바인딩 되지 않는 경우가 있었습니다. 해결방법 각각의 입력 요소인 <input type=”text” name=”Items[0].Name”> 의 앞에 <input type=”hidden” name=”Items.Index” value=”0” /> 를 추가 하는 것으로 비연속적인 index를 가지고 있는 배열 값이라도 정상적으로 Model에 바인딩 되는것을 확인하였습니다. 확인한 MVC버젼은 5입니다. View (.cshtml 확장자) Model public class TestModel { public List Items { g.. 2019. 1. 23. 메일 수신과 삭제 with OpenPoP.NET Open Pop.NET http://hpop.sourceforge.net/ OpenPop.NET은 C#으로 이메일을 제어 가능한 라이브러리입니다. 아래는 OpenPop.NET을 이용해서 메일의 수신과 삭제를 실행하는 부분을 정리한 내용입니다. 메일 수신과 삭제 기능의 호출 부분 using (Pop3Client pop3Client = GetPop3Client()) { var pop3 = new Pop3Mail(); List receivedMailList = pop3.ReceiveMails(pop3Client); pop3.DeleteMessageByMessageId(client, 1); // MessageId } Pop3Client생성 public static Pop3Client GetPop3Client().. 2019. 1. 21. log4net의 버젼 차이에 따른 문제 해결 log4net 버젼 차이에 따른 문제 프로젝트 A : 새로운 프로젝트. 당연히 log4net도 최신 버젼을 도입합니다. 하지만 프로젝트 B의 비지니스 로직을 참고해야 합니다... log4net 버젼 : 1.2.15.0 프로젝트 B : 공통 비지니스 로직을 포함하고 있는 오래된 프로젝트로 log4net의 버젼도 당연히 옛날 버젼 입니다... log4net 버젼 : 1.2.10.0 … 그리고 상기의 사양대로 코딩을 했더니 프로젝트 A가 단독으로 움직일때는 문제가 없지만 프로젝트 B의 로직을 호출(Add References로 dll 참조)하면 프로젝트 B에서 로그를 출력하는 타이밍에서 에러가 발생했습니다. 에러 메세지 Could not load file or assembly 'log4net, Version=1.. 2019. 1. 21. Entity Framework에서 tinyint(1)를 sbyte로 인식 시키고 싶을 경우의 해결 방법 1. config 파일을 수정 Web.config 또는 App.config의 에 “TreatTinyAsBoolean=false”를 추가합니다. 2. DB의 edmx 파일을 수정 SSDL content 부분의 bool를 tinyint로 수정합니다. 그리고 CSDL content 부분의 Boolean을 SByte로 수정합니다. 현재(2016.12) Web.config의 설정만으로 edmx가 자동으로 대응해 주는 방법은 없어서 exmd 파일에서 해당 컬럼과 모델 항목 설정을 일일이 수정해 줄 필요가 있습니다. 그리고 edmx에 변경이 발생할 때마다 (테이블의 추가/변경/삭제 등) 기존의 수동 설정은 새로 리셋되기 때문에 갱신 할때마다 설정을 수정하지 않으면 안됩니다. 처음부터 새로 DB를 구축할때 Entity.. 2019. 1. 21. timestamp/DateTime에서 현재시간을 기준으로 경과시간을 취득 DateTime에서 경과시간을 취득 public static string GetLapsedTimeFromDateTime(DateTime dt) { string timeString = string.Empty; TimeSpan ts = DateTime.Now.Subtract(dt); int DayPeriod = Math.Abs(ts.Days); if (DayPeriod < 1) { int HourPeriod = Math.Abs(ts.Hours); if (HourPeriod < 1) { int MinutePeriod = Math.Abs(ts.Minutes); if (MinutePeriod < 1) { int SecondPeriod = Math.Abs(ts.Seconds); return SecondPeriod... 2019. 1. 21. Ace Editor로 소스코드를 표시하는 방법 티스토리에서 마크다운을 지원해 주면 제일 좋고 편하지만, 지원해 주지 않는 고로 티스토리 블로그에서 소스코드를 표시하는 방법을 이리저리 찾아보고 시행착오를 해 본 결과 현재 시점에서는 개인적으로 제일 마음에 드는 Ace editor를 티스토리에 도입하는 방법을 간단히 소개합니다. https://ace.c9.io/ Ace - The High Performance Code Editor for the Web 도입 전제조건 적용할 스킨은 TISTORY 제공의 Letter CDN으로 도입 가급적 깔끔하게 소스의 수정은 최소한으로 소스 코드내에 HTML태그도 포함 1. 스킨편집 - HTML편집 하기 링크에서 사용할 ace.js의 주소를 복사해서 의 사이에 삽입합니다. https://cdnjs.com/librarie.. 2019. 1. 17. EPPlus 템플릿 파일을 사용해서 엑셀파일을 작성 using System.IO; using OfficeOpenXml; // 사전에 수식등이 설정되어 있는 엑셀 파일(템플릿 파일)을 기반으로 // DB등에서 취득한 값을 지정한 셀에 설정하여 byte[]를 엑셀로 다운로드 시킬 경우 byte[] source; MemoryStream stream = new MemoryStream(); using (var template = System.IO.File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + "/App_Data/template.xlsx")) using (var package = new ExcelPackage(stream, template)) { ExcelWorksheet worksheet = null; worksh.. 2019. 1. 16. 이전 1 ··· 4 5 6 7 8 다음