본문 바로가기

IT 살이

[연재 05] WCF 관련 용어들 앞에서는 "Hello world WCF 버전"을 제작해 봄으로써 WCF 애플리케이션을 작성하는 단계를 하나씩 짚어봤다. 그 과정에서 나온 용어들을 몇개 정리해 보고자 한다. l 엔드 포인트(endpoint) 엔드 포인트들은 메세지를 주고 받는 종점으로서 메세지 교환에 필요한 정보를 정의한다. WCF 서비스는 하나 또는 이상의 애플리케이션 엔드 포인트를 노출시킨다. 클라이언트는 서비스가 노출시킨 엔드 포인트와 상호작용할 수 있는 엔드 포인트를 사용해야 한다. l 바인딩(binding) 바인딩(binding)은 "엔드 포인트(endpoint)에 연결하는데 필요한 것들을 지정하기 위해서 사용되는 객체들"이라고 정의할 수 있겠다. 바인딩은 엔드 포인트가 어떻게 바깥 세계와 통신을 하는지를 정의한다. 바인딩을 구.. 더보기
[연재 04] Hello world WCF 버전 3 4. WCF 클라이언트 프락시 클래스 및 config 파일 생성 WCF 서비스가 만들어졌으니 이제 Service Model Metadata Utility 툴(Svcutil.exe)을 이용하면 앞에서 말한 것처럼 클라이언트측 프록시 클래스와 설정 파일을 만들수 있다. /config 스위치를 사용하면 생성되는 설정 파일의 이름을 지정할 수 있다. 먼저 서비스 프로그램을 실행시킨다. 그런 다음, VS.NET을 설치하면 함께 설치되는 명령 프롬프트에서 다음 명령을 실행시킨다. svcutil /language:C# /config:app.config http://localhost/HelloService C 드라이브의 루트 폴더를 보면 프락시 클래스 파일과 환경 설정 파일이 생성되어 있을 것이다. 프락시 클래스파일은.. 더보기
[연재 03] Hello world WCF 버전 2 3. WCF 서비스 구동하기 그림처럼 config 파일을 추가한다. 추간된 config 파일에 다음 내용을 복사해 넣는다. Main() { // 서비스 타입에 맞는 ServiceHost인스턴스를 생성한고, 베이스 주소를 제공한다. using (ServiceHost serviceHost = new ServiceHost(typeof(HelloService))) { try { // ServiceHostBase를 오픈하면 리스너를 생성하고 메세지를 리스닝하기 시작한다. serviceHost.Open(); // The service can now be accessed. Console.WriteLine("서비스 작동중"); Console.WriteLine("서비스를 종료하려면 를 치세요."); Console.Wri.. 더보기
[연재 02] Hello world WCF 버전 1 걍, 바로 샘플 얘기로 들어가자. WCF(Windows Communication Foundation)가 뭔지, 장점이 뭔지 하는 얘기는 MSDN 등 기타 사이트에 “WCF”를 키워드로 해서 검색을 해 보면 수두룩하게 쏟아져 나온다. 간단히 얘기하자면, .NET3.0에서의 새로운 Communication 프로그래밍 모델로서, 웹 서비스나 .NET 리모팅을 대신할 수 있는 기술이다. 어떤 통신 프로그래밍에서든지 Communication 기능을 작성하기 위해서 하는 공통된 절차가 있다. 초 간단하게 절차를 얘기하자면 다음과 같을 것이다. “서버 프로그램을 작성하고, 서비스를 제공할 수 있는 환경을 구성하고 그런 다음 그것을 인식할 수 있는 클라이언트 프로그램을 작성한다”는 것이다. “Hello world” W.. 더보기
[연재 01] WCF 연재를 시작하면서... 오랜만에 포스트를 올립니다. 이번에는 WCF( Windows Communication Foundation)에 대한 연재를 올려보려고 합니다. 달봉이도 지금 공부하고 있는 중이여서, 혹시나 틀린 부분이 있다면 코멘트 부탁드립니다. 이번 연재는 달봉이의 생각대로 재정리하는 것이 아니라 해외 아티클을 번역하는 방식으로 할 생각입니다. 나름대로 쉽게 배워갈 수 있는 순서와 절차에 입각해서 아티클을 배치하도록 하겠습니다. 그럼 시작하겠습니다. 다음 아티클들이 연재될 예정입니다. 그러나 지금 투입된 프로젝트 때문에 다 끝낼 수 있는 여력이 될 지 모르겠습니다. WCF “Hello world”버전 만들기 (MSDN) What You Need To Know About One-Way Calls, Callbacks, An.. 더보기
MSDN Magazine 한글판 MSDN Magazine이 한글판으로 서비스된다고 정성태 님이 알려오셨습니다. 한글판은 이곳에서 볼 수 있습니다. 더보기
Soap 익스텐션(SoapExtension)을 고한다. 클라이언트와 서버와의 통신에 웹 서비스를 사용하고 있는 스마트클라이언트 애플리케이션을 제작하면서 처음 Soap 익스텐션이라는 것을 알게 되었다. 이 녀석을 사용하면 개발자의 코드를 거의 수정없이 웹 서비스 기능을 추가, 확장활 수 있게 된다. Soap 익스텐션은 클라이언트측에서는 웹 서비스에 대한 프락시 클래스의 메소드가 호출될때 그리고 서버측에서는 웹 서비스 메소드가 호출될때마다 활성화되어 추가적인 역할을 수행하게 된다. 웹 서비스에 대한 요청 또는 응답시 웹 서비스의 기능을 확장할 수 있는 수단이라는 점에서는 ASP.NET의 Http Handler, Http module과 유사한 개념이라고 볼 수 있다. Soap익스텐션을 사용할 수 있는 예로는 웹 서비스 호출 전 후에 로깅을 한다든지 또는 SOAP .. 더보기
똑똑한 웹 파일 다운 로드 구현하기 웹 애플리케이션을 작성하다보면, 고객으로부터의 파일 업다운로드에 대한 요구는 자주 있는 일이다. 그 중에서 파일 다운 로드에 대한 내용을 잘 설명해 놓은 아티클이 있다. Build Smarter ASP.NET File Downloading Into Your Web Applications http://msdn.microsoft.com/msdnmag/issues/06/09/WebDownloads/ 텍스트 파일, Html 파일을 브라우저로 출력하는 대신에 다운받을 수 있는 방법, 대용량 파일을 다운하는 시나리오에 대한 솔루션 그리고 HTTP, IIS를 이용해서 다운로드해야 하는 경우 알고 있어야 하는 사항등을 설명하고 있다. 더보기
Orcas를 이용해서 오프라인 스마트클라이언트 App 작성하기 Orcas( Vista 용 개발환경인 Visual Studio 2007 코드 네임)를 이용해서 오프라인(가끔씩 네트워크에 연결되는 ) 애플리케이션을 작성하는 글 발견. Orcas enables easy offline client apps( http://blogs.msdn.com/brada/archive/2007/03/24/orcas-enables-easy-offline-client-apps.aspx) Orcas CTP 버전 다운받는곳. Microsoft Pre-release Software Visual Studio Code Name "Orcas" - January 2007 Community Technology Preview (CTP) 더보기
.NET 프레임워크 설치 여부 확인하는 방법 http://blogs.msdn.com/junfeng/archive/2004/02/05/67815.aspx 이 링크를 보면 .NET 프레임웤이 설치되었는지를 확인해볼 있는 레지스트리 키에 대해 나와 있다. How to detect .NET Framework installed or not If you search google how to detect .Net Framework, this(http://support.microsoft.com/default.aspx?scid=kb;%5BLN%5D;315291) page ranks very high. Ignore all the details in the KB articles. It basically asks you to check this reg keys & va.. 더보기
CLR 버전 선택하기, 어셈블리 바인딩 리다이렉트시키기 기존의 애플리케이션이 다른 버전의 CLR로 제작된 경우, 때로는 애플리케이션이 실행될 CLR 버전을 변경시킬 필요가 있다. 이런 경우 애플리케이션의 config 파일에 다음 설정을 추가함으로써 원하는 CLR 버전을 선택할 수 있다. Forces the v1.0 CLR to be run. If the v1.0 CLR is not installed, the app will fail to run. 현재 실행되는 어셈블리가, 현재 설치되어 있는 CLR 버전보다 최신 버전에서 개발된 경우에는 "BadImageFormatException" 예외를 발생시킬 수 있다. 자세한 내용은 New Assembly, Old .NET (and Vice-Versa)를 참고한다. 다음은 바인딩시 다른 버전으로 어셈블리 바인딩을 유도.. 더보기
IIS 7 관리 닷넷 Microsoft.Web.Administration 클래스(펌) 닷넷 코드로 직접 IIS7.0을 제어할 수 있게 되었다고 합니다. 웹사이트 생성 ServerManager iisManager = new ServerManager(); iisManager.Sites.Add("NewSite", "http", "*:8080:", "d:\\MySite"); iisManager.Update(); 응용프로그램 디렉토리 생성 ServerManager iisManager = new ServerManager(); iisManager.Sites["NewSite"].Applications.Add("/Sales", "d:\\MyApp"); iisManager.Update(); 가상디렉토리 생성 ServerManager iisManager = new ServerManager(); Applica.. 더보기
커맨드 패턴 이번 포스트는 개인적인 메모다. 나름대로 핵심들이라고 생각되는 사항들을 다짜고짜 거두절미하고 나열한다( 시간나면 좀 자세히 정리해야 겠다. 언제가 될지 모르겠지만...-_-;;) 디자인 패턴의 각 유형을 정의내린다는 것은 참 힘들다. 차라리 어떤 점이 편리한지 응용성이 어떤지를 정리하는 것이 더 쉬우면서도 유용한 것 같다. 달봉이는 지금 스마트클라이언트 어플리케이션의 클라이언트측 프레임워크를 제작해서 사용하고 있다. 그 구현 내용중에서 커맨드 패턴이라는 것을 사용하고 있다. 해서 이 포스트에서는 나름대로 정리를 좀 해 놔야 할 것 같다. 안해 놓으면 잊어버리고 같은 문제로 또 언젠가는 고민하게 된다( 요즘은 눈에 띄게 기억력이 떨어진 것 같다 쓰으...). ■ 기본 커맨드 패턴 1. 커맨드 객체는 특정 .. 더보기
.NET3.0을 부트스트래퍼로 설치시 발생하는 에러 .NET3.0으로 제작된 어플리케이션을 ClickOnce로 배포하는 경우, 부트스트래퍼로 .NET 3.0을 미리 설치할때 나는 에러라 한다. 아직 체크해 보지 않았지만 북마크해둔다. Using ClickOnce With .NET Framework 3.0 더보기
마이크로소프트의 공짜 eLeanring 다음 링크 페이지를 보면 마이크로소프트에서 제공하는 공짜 강의를 들을 수 있다. 만료 기간은 1년이다. Would you like some free training from Microsoft? 하지마안~~ 영어로 진행된다는 거엇! 더보기
[메모] Manifests for IE Hosted Controls Manifests for IE Hosted Controls how to generate manifests that would state what permissions your control needs (and the rules associated with those manifests). 더보기
[메모] Specifying Permissions for IE Controls in Orcas Specifying Permissions for IE Controls in Orcas Granting managed controls hosted in IE extra permissions. If you need to have a managed control run above its default grant set, the process getting this working in .NET versions through .NET 2.0 was relatively painful. ... 더보기
WPF 어플리케이션 데모 목록 다음 링크 페이지에서 WPF 어플리케이션을 실행시켜 볼 수 있다. 많은 어플리케이션들이 ClikOnce로 배포되거나 XBAP 애플리케이션이서 쉽게 실행시켜 볼 수 있다. Nice list of demo-able WPF applications 더보기
Why Vista Matters to Developers Why Vista Matters to Developers A good article on the importance of Vista for developers. I particularly like this article because you hear from customers and partners directly on what Windows Vista means to them and their business. A few good quotes: "Perhaps even more profound, if somewhat less groundbreaking, is that the .Net Framework 2.0—on which 3.0 sits—is also included, thus making Vista.. 더보기
WinForms와 WPF같이 사용하기 한 화면에서 WinForms과 WPF 컨트롤을 함께 사용할 수 있다는 군요. TechEd: Getting the most out of Windows Forms and Windows Presentation Foundation (WPF) 더보기