반응형

C# 59

WebView의 PDF 읽기 실패, Adobe PDF 오류(103:103)에 대한 처리 해결법

WebView에 pdf를 읽게 할 때, Adobe PDF 리더가 설치되어 있을 때, 아래의 에러 메시지와 함께, PDF Viewer가 실행이 되지 않을 때가 있습니다. 일반적으로 어플리케이션 안에 있는 WebView에서 오픈되는 파일이 안정성을 보장하지 못하기 때문에, 종종 보안 부분에서 기본적으로 차단을 해 놓는 경우가 있습니다. 해당 해결 방법은 Adobe Reader의 설정을 변경해주시면 쉡게 해결이 됩니다. Adobe PDF Document 오류 (103:103) 내용 There is a problem with Adobe Acrobat/Reader. If it is running, please exit and try again. (103: 103) 다음과 같이 WebView (Application..

C# 2022.09.15

ASP.net asp:Button컨트롤러 버튼에 Bootstrap의 CSS class 입히기

ASP.net의 Master페이지가 있는 WebForm에서, Button컨트롤러에 CSS Class을 입히는 간단한 방법을 소개합니다. 일반적인 웹 폼에서 Button컨트로러에는 CSS가 전혀 입히지 않는 기본 버튼 모양인데요. 마스터 페이지에 있는 Bootstrap를 이용해서, 이미 제작된 CSS Class에 값을 줘서 디자인을 적용해 보는 예제입니다. 코드에서 직접 입력해도 되고요. 속성의 CssClass값에 입력해도 적용이 됩니다. [ asp:Button 객체에 class입히기 ] CssClass="btn btn-primary" 기본 예제 예제 > You have to use asp:LinkButton instead of a asp:Button, here is how it works for me u..

C#/ASP.net 2021.01.29

ASP.net DropDownList 값 선택하기, Select 선택값 변경시 함수 처리하기

웹에서 사용되는 요소의 기능들을 ASP.NET에서는 DropDownList 객체로 쉽게 처리할 수 있게 되어 있습니다. 쉽게 생각해서, C#에 요소의 표준 객체가 DropDownList로 보면 됩니다. 여기서, 우리는 2가지를 이야기하려고 합니다. (1) DropDownList 컨트롤러의 값 선택하기 (2) DropDownList 컨트롤러의 선택이 변경될 때 처리하기 기본적으로 웹에서는 이런 기능들을 html이벤트와 Javascript를 통해서 처리하지만, ASP.NET 에서는 이벤트와 CodeBehind 소스를 통해서 처리합니다. (1) DropDownList 컨트롤러에 값 선택하기 DropDownList 컨트롤에서 특정 값의 Item을 선택하게 하려면, 객체를 Item를 찾아서 value부분에 값을 ..

C#/ASP.net 2021.01.28

ASP.net 유효성 검사 CompareValidator / CauseValidation

웹 프로그램을 하다보면, 유효성 검사가 필요합니다. ASP.net의 경유 "유효성 검사" 도구들을 이용해서, 조금더 쉽게 유효성 검사 프로그램을 만들 수 있습니다. 유효성 검사란? 사용자가 입력하는 값에서 사용자의 실수를 막고, 잘못된 입력된 값을 차단함으로써, 사용자의 실수와 프로그램의 오류를 사전에 방지할 수 있는 역할을 할 수 있습니다. 유효성 검사 - CompareValidator "기본이 되는 값"과 "대상이 되는 값"을 비교해서 일치하지 않으면 실패 처리 - 비교 대상이 없으면, 검사 성공으로 처리됨 - 기본적으로 RequiredFieldValidator를 제외한 모든 Validator은 null을 허용 - 비교: 같다, 같지 않다, 크다, 작다, 크거나 같다, 작거나같다, 자료형이 같다. 속..

C#/ASP.net 2021.01.28

C#에서 Chrome 브라우저 사용 + 웹 소스에서 자바스크립트로 C# 함수 호출하기 (CefSharp / Chromium)

2017/03/09 - [C#] - C# WebBrowser + Chrome 크롬 브라우저 사용하기 (cefSharp / Chromium) 2017년 3월에 CEFSharp이라는 크롬미움 브라우저를 감싼(Embedded) 소스를 사용해서, 웹브라우저를 사용해 본 경험이 있었습니다. 해당 과정을 아주 간단하게 정리하면서, ** 추가로 Web(src)에서 C#의 함수를 호출하는 소스를 만들어 보려고 합니다. Javascript로 C# 어플리케이션을 호출하게 되면, 기존에 Web에서 불가능한 H/W를 컨트롤 하는 기능들을 작업해 보려고 합니다. Visual Studio 2019 다운로드 및 설정 먼저 Visual Studio 2019 커뮤니터 버전을 설치해 보았습니다. visualstudio.microsoft..

C# 2021.01.15

Mail 발송하기 예제 (System.Net.Mail)

ASP.net에서 System.Web.Mail을 이용해서, 메일을 보내는 소스예제 참고: 보통 이메일을 전송하는 SMTP 방식에는 인증과 비인증 방식있다. SMTP서버가 인증 방식을 필요로 하는 경우, 반드시 SMTP Account를 통한 인증을 가져 가야 합니다. Gmail의 SMTP서버를 이용한 예제 using System.Net.Mail void example() { MailMessage message = new MailMessage(); message.From = new MailAddress("계정명@gmail.com"); message.To.Add(new MailAddress(test@localhost.com)); message.IsBodyHtml = true; message.Subject = ..

C#/ASP.net 2018.10.25

Visual Studio를 이용한 ASP.net 웹 배포:테스트 환경에 배포

https://docs.microsoft.com/ko-kr/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-to-iis Visual Studio를 사용 하 여 ASP.NET 웹 배포: 테스트 환경에 배포 개요 이 자습서에서는 로컬 컴퓨터의 IIS에 ASP.NET 웹 응용 프로그램을 배포 하는 방법을 보여 줍니다. 응용 프로그램을 개발할 때 일반적으로 Visual Studio에서 실행 하 여 테스트 합니다. Visual Studio 2012에서 웹 응용 프로그램 프로젝트 기본적으로 개발 웹 서버로 IIS Express를 사용 합니다. IIS Express는 기본적으로 Visual Studio 2010에는 Visual S..

C#/ASP.net 2018.09.26

Visual Studio 2017 Preview 설치

Visual Studio 2017 Preview 15.8의 신규 기능이 나오기 전에 나오는 부분을 먼저 사용할 수 있습니다. Visual Studio 2017 Preview 15.8 관련 포스트https://blogs.msdn.microsoft.com/visualstudio/2018/06/26/visual-studio-2017-version-15-8-preview-3/ Visaul Studio 2017 Preview 다운로드https://visualstudio.microsoft.com/ko/vs/preview/ Q. 어떤 버전의 Visual Studio "Preview"fmf 설치해야 할까요?A. 현재 소유한 라이센스가 있는 버전과 동일한 버전을 선택하는 것이 좋습니다.기존에 없는 경우에는 사용 "Com..

C# 2018.08.17

7zip를 이용해서 setup.exe와 같이 실행형 압축파일 만들기 (setup.exe with 7zip -sfx switch)

7zip를 이용해서 setup.exe와 같이 실행형 압축파일 만들기 How to make a self extracting archive that runs your setup.exe with 7zip -sfx switch Step 1 - Setup your installation folder To make this easy create a folder c:\Install. This is where we will copy all the required files. Step 2 - 7Zip your installers 1. Go to the folder that has your .msi and your setup.exe 2. Select both the .msi and the setup.exe 3. Right..

C# 2018.06.23

NSIS 스크립트 방식의 윈도우 인스톨링 프로그램

오래전에 사용했던, 스크립트 인스톨링 프로그램관련 포스트 링크해 둡니다.NSIS(Nullsoft Scriptable Install System, 널소프트 스크립터블 인스톨 시스템)는 스크립트 기반으로 동작하는 윈도용 설치 시스템으로, 윈앰프를 만든 것으로 알려져 있는 널소프트가 지원하는 가벼운 설치 시스템이다.https://ko.wikipedia.org/wiki/NSIS [펌] NSIS 에서 7z.exe로 압축을 해제 하는 방법 NSIS: http://nsis.sourceforge.net/Main_Page7-Zip: http://www.7-zip.org/NSIS 7zip 플러그인: http://nsis.sourceforge.net/Nsis7z_plug-in 기본적으로 7z.exe는 7z파일이나 7z.00..

C# 2018.06.09

asp:textbox에 placeholder 입력값 예제 만들기

asp 페이지의 asp:textbox 에 힌트로 보여질 html5에서 사용되는 placeholder 에 해당하는 문자 나오게 하기.컨트롤러에 placeholder 애튜리뷰트를 추가하기. (아래의 방법이 가장 간단한 방법) 그외의 방법들도 소개합니다. The placeholder attributeYou're looking for the placeholder attribute. Use it like any other attribute inside your ASP.net control:Don't bother about your IDE (i.e. Visual Studio) maybe not knowing the attribute. Attributes which are not registered with ASP...

C#/ASP.net 2018.05.08

HTTP 411 오류? The remote server returned an error: (411) Length Required.

보통 HttpWebRequest and POST method를 사용할 때, POST내용의 Size를 빼먹곤 한다. 그럴 경우, 아래와 같이 411 HTTP 통신 Error가 발생된다. Exception Details: System.Net.WebException: The remote server returned an error: (411) Length Required. request.Method가 GET의 경우는 문제가 되지 않지만, POST에는 무조건 넘겨줘야 한다. When you're using HttpWebRequest and POST method, you have to set a content (or a body if you prefer) via the RequestStream. But, acco..

C# 2018.05.05

URL중에 http://도메인:PORT 구하기

ASP.net에서 *.aspx.cs에서 Domain:Port부분을 뽑아서 사용이 필요할때가 있습니다. 예를 들어서, http://test.net:8080과 같이 나올때, 도메인을 쉽게 뽑아내는 ASP.net 소스 // Domain Uri uri = Context.Request.Url; ViewState["Domain"] = HttpContext.Current.Request.Url.Host; //포트가 80이 아니면, 특정 Port 붙여주기. if (uri.Port != 80) ViewState["Domain"] = ViewState["Domain"] + ":" + uri.Port; // 활용 _body = _body.Replace("###HOME_URL###", "http://" + ViewState["..

C#/ASP.net 2018.04.27

C# IP, Email 스팸 패턴으로 Spam 메일 차단하기 + 문자열 배열에 비교

회사에 Contact US 페이지에 스팸이 계속 들어오는 것을 발견해서해당 사이트에 Spam 패턴을 발견해서 해당 패턴을 차단하게 간단한 프로그램을 만들어 보았다. 스팸 패턴을 찾아서 True / False를 넘긴다. bool hasSpam = false; //Spam IP/Email Patten string[] strSpamEmails = { "@mail.ru" }; string[] strSpamIPs = { "209.90.225.","216.244.65." }; //Your Email, IP string _email = strEmail; string _ip = Request.UserHostAddress; //Has Spam? TRUE/FALSE hasSpam = ( Array.Exists(strSpa..

C# 2018.04.26

Visual Studio 2017 프로그램 Update 하기

Visual Studio(VS 이하)를 사용하지 3년밖에 되지 않아서, 아직도 모르는게 많았답니다.함께 일하시는 분이 VS 2017 업데이트 자주 하라고 하시는데, VS가 업데이트가 자주 나오는지 몰랐기에 자주 업데이트 되는걸 보며,참~ VS를 개발하는 프로그램머들이 참 고생이 많다는 느낌이 들었습니다.VS 2017 Preview와 같은 경우 업데이트가 더욱 많다고 하네요. [Visual Studio 2013 업데이트]Visual Studio 2013 Update 5 (04/20/2018) => 해당 업데이트는 생각보다 시간이 많이 걸리고, 리부팅도 해야 합니다.(업데이트 순서) 다운로드 Save를 한후 (VS2013.5.exe) > VS를 닫고 > 다운로드 받은 파일을 Run as administrat..

C# 2018.04.21

C# 사설 / 공인 IP 구하기 ( Internal / External IP Address )

네트웍에서 사설/공인 IP (Local/Public IP 또는 Internal/External IP)를 구하는 소스 Get Internal IP Address using System.Net.Sockets; //for AddressFamily public static string GetInternalIPAddress() { var host = Dns.GetHostEntry(Dns.GetHostName()); foreach (var ip in host.AddressList) { if (ip.AddressFamily == AddressFamily.InterNetwork) { return ip.ToString(); } } throw new Exception("No network adapters with an I..

C# 2018.04.20

Null 공백문자 확인 String.IsNullOrWhiteSpace Method (String)

넘겨온 값이 null이거나, 공백문자인 경우를 찾아서 처리할때, 다음과 같이 합니다. .Net 4.0이상에서 지원되네요. Syntaxpublic static bool IsNullOrWhiteSpace( string value ) 해당 함수의 처리 부분은 다음과 같다고 보면됩니다. return String.IsNullOrEmpty(value) || value.Trim().Length == 0; 예제using System; public class Example { public static void Main() { string[] values = { null, String.Empty, "ABCDE", new String(' ', 20), " \t ", new String('\u2000', 10) }; fore..

C# 2018.04.18

문자 앞 부분 0으로 채우기 ( 000001 형식)

특정 문자 앞을 0으로 채우기 1값에 특정 길이까지 0으로 채우기 string fmt = "0000";int intValue = 1; intValue.ToString(fmt); //0001로 변경됨 예제 >> string fmt = "00000000.##";int intValue = 1053240; decimal decValue = 103932.52m; float sngValue = 1549230.10873992f; double dblValue = 9034521202.93217412; // Display the numbers using the ToString method. Console.WriteLine(intValue.ToString(fmt)); Console.WriteLine(decValue.ToSt..

C# 2018.01.30

C# object를 JSON 형식으로 바꾸기 (.NET4)

객체 형태의 값을 쉽게, JSON형식으로 변경하는 방법 해당 방법은, JavaScriptSerializer class 를 이용하면, 아주 쉽게 JSON방식으로 변경이 가능합니다.해당 클래스를 사용하려면, System.Web.Extensions을 reference로 추가하면 됩니다. using System.Web.Script.Serialization; var json = new JavaScriptSerializer().Serialize(obj); 참고: https://stackoverflow.com/questions/6201529/turn-c-sharp-object-into-a-json-string-in-net-4 전체 예제:using System; using System.Web.Script.Seriali..

C# 2018.01.30

C#에서 ComboBox 첫번째 항목으로 선택하기

C# 에 ComboBox에 첫번째 항목으로 선택하게 하는 코드 You can set using SelectedIndex comboBox1.SelectedIndex= 1; OR SelectedItem comboBox1.SelectedItem = "your value"; // The latter won't throw an exception if the value is not available in the comobo box EDIT If the value to be selected is not specific then you would be better off with this comboBox1.SelectedIndex = comboBox1.Items.Count - 1; or comboBox1.Selecte..

C# 2018.01.12

C# Entity Framework join 하기

Entity Framework 에서 Join하기join 테이블명 on 필드A equals 필드B select 에서 new { }로 각 필드를 새롭게 만들어 준다. I think it will be easier using syntax-based query:var entryPoint = (from ep in dbContext.tbl_EntryPoint join e in dbContext.tbl_Entry on ep.EID equals e.EID join t in dbContext.tbl_Title on e.TID equals t.TID where e.OwnerID == user.UID select new { UID = e.OwnerID, TID = e.TID, Title = t.Title, EID = e.E..

C# 2018.01.11

Visual Studio 2017 CodeLens (VS Ultimate 2013이상, VS 2017 Pro이상)

Visual Studio Professinal 2017이상에는 기본적으로 CodeLens라는 기능있다. CodeLens는 해당 함수를 몇번 사용했는지 설명이 추가 된다.4 references : GetCompanyCode()함수를 4번 사용음을 표시해줌. Visual Studio 2013 Ultimate Update 4버전에 포함되어 있다고 합니다. 참고: https://www.codeproject.com/Articles/794766/What-is-CodeLens (CodeLens 설명)https://stackoverflow.com/questions/18475761/vs-2013-codelens (CodeLens 지원버전 설명)

C# 2018.01.03

c# ComboBox 리스트 추가하기 (중복없이, 초기화)

C#에서 ComboBox리스트를 많이 사용합니다. 해당 리스트의 항목들을 추가하는 방법은 몇가기 있다.1) Properties > Items에 (Collection)에 추가하기 2-1) 중복을 체크하며 프로그램에서 추가하기if (!comboBox.Items.Contains(entry)) comboBox.Items.Add(entry);참고: https://stackoverflow.com/questions/14800791/combo-boxes-duplicate-entries 2-2) 객체를 통해서 프로그램에서 추가하기 여기서, ComboBox의 초기화를 하는 방법은 다음과 같습니다.cboxHour.Items.Clear()참고: https://stackoverflow.com/questions/9321844/h..

C# 2017.12.20

[C#] C#에서 Log4.net 사용 방법 (Log4net로 로그 파일 만들기)

C# 프로그램을 사용하다보면, Log를 만들어야 하는 경우가 많습니다.아파치 프로젝트에서 개발한 Log4net를 사용하면 편리하게 사용이 가능합니다.http://logging.apache.org/log4net작업순서(1) 다운로드 Binaries 파일 (.net버전별 파일들 포함) (2) 프로젝트에 파일 추가 (Lib폴더생성후 파일복사/또는 웹사이트의 경우 Bin폴더)(3) log4net.dll 파일과 log4net.xml 파일을 References에 추가 합니다.(4) App.config 에 XML설정 추가 (웹사이트 Web.config에 추가)(5) Properties\AssemblyInfo.cs에 설정 추가(6) 사용하기: cs 파일에 사용 선언: using log4net; using log4net..

C# 2017.12.06

c# String.IsNullOrWhiteSpace(strSearch) 공백문자, Null 확인하기

C#에서 문자열이, 공백문자(White Space)나 Null인지 확인하는 함수 if (String.IsNullOrWhiteSpace(strSearch))참고로 해당 함수는 .NET 4.0에서 지원. The correct way in .NET 4.0 is:if (String.IsNullOrWhiteSpace(strSearch))The String.IsNullOrWhiteSpace method used above is equivalent to:if (strSearch == null || strSearch == String.Empty || strSearch.Trim().Length == 0) // String.Empty is the same as ""Reference for IsNullOrWhiteSpace..

C# 2017.12.02

C# 코딩 규칙

출처: https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/inside-a-program/coding-conventions C# 코딩 규칙(C# 프로그래밍 가이드) C# Language Specification(C# 언어 사양)에서는 코딩 표준을 정의하지 않습니다. 그러나 이 항목의 지침은 Microsoft에서 샘플과 설명서를 개발하는 데 사용됩니다.코딩 규칙은 다음과 같은 용도로 사용됩니다.코드를 확인하는 사용자들이 레이아웃이 아닌 내용에 집중할 수 있도록 일관성 있게 표시되는 코드를 만듭니다.코드를 확인하는 사용자들이 이전 경험을 토대로 한 가정을 통해 코드를 보다 빠르게 이해할 수 있도록 합니다.코드를 보다 쉽게 복사, 변경 및 유지 ..

C# 2017.11.23
1 2
반응형