이 포스팅에서는 응용프로그램(WinForm, WPF...)에서 ASP.NET를 포함한 웹 서비스를 제공하는 방법을 다룹니다. 퍼블리싱된 파일을 서비스하는 것이 아닙니다. 웹서버를 구현한다고도 볼 수 있는데..... IIS나 Kestrel처럼 퍼블리싱된 파일을 읽어서 서비스하는 방식은 아닙니다. (그렇다고 구현방식이 다른 건 아닙니다 ㅎㅎㅎㅎ) 1. 프로젝트 생성 프로젝트는 ".Net 5 WinForm 애플리케이션"으로 생성합니다. 여기서는 "웹 응용 프로그램 MVC (모델-뷰-컨트롤러)"로 생성합니다. 'Form1'의 이름을 'MainForm'으로 바꿉니다. 폼을 다음과 같이 구성합니다. 버튼을 누르면 브라우저가 열리도록 코드를 넣습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ..
합성 컨트롤(Authoring a Composite Control)은 '유저 커스텀 컨트롤'과는 달리 DLL형태로 만들어wu 재사용이 쉽다는 장점이 있습니다. 예전엔 '유저 제작 컨트롤'같은 이름이였던거 같은데 기능이 바뀐 건지 처음 듣는 이름이네요. 개념상으로는 기존의 컨트롤들을 재조합하여 만들기 때문에 이런 이름을 붙인 것 같습니다. 간만에 그림하나 없는 MSDN의 샘플이 아무런 작업 없이 잘 돌아간 것 같네요 ㅋㅋㅋㅋ 그래서 MSDN의 샘플을 그대로 따라가도록 하겠습니다. (참고 : MSDN - 연습: Visual C#에서 합성 컨트롤 제작) 1. 프로젝트 생성 C# > Windows > Windows Forms 컨트롤 라이브러리 를 선택하고 이름을 'ctlClockLib'으로 한 다음 프로젝트를 ..
자신이 만든 컨트롤에 특정 속성을 넣을수 있습니다. 그것도 간단하게 말이죠. 1. 비하인드 코드 작성 일단 비하인드코드에 해당속성을 어떻게 처리할지를 구성해 줍니다, /// /// 지정할 텍스트 /// [Category("Text"), Description("지정할 텍스트")] public string Text { get { return this.labText.Text; } set { this.labText.Text = value; } } Category : 속성 창에 표시될 이름 Description : 속성에 대한 설명(밑에 속성설명창에 나오는 내용인데.... 바로 적용이 안되는 듯 하네요) (참고 : MSDN - CategoryAttribute 클래스) 일반적인 겟셋(getter, setter)접근..