SmartClient 11

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기4

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기4 스마트 클라이언트 배포하기 - 4 저 자 : 정성태 속도 개선을 위한 또 다른 구문 이쯤에서 하나 더 짚고 넘어 갈 문제가 있는데 바로 ‘속도’ 문제이다. 앞에서 네트워크 모니터를 통한 패킷이 오고 가는 것에서 본 것처럼 아무 의미없는 GET 호출의 결과로 스마트 클라이언트의 활성화는 더욱 늦어지게 된다. 비록 완전한 해결책을 제시할 수는 없지만, 태그의 classid 속성에 대한 또 다른 사용법을 같이 설명하면서 특정한 상황의 컨트롤인 경우에 그러한 연속적인 GET 명령을 배제할 수 있는 방법을 소개하겠다. 원래의 액티브X 컨트롤의 경우와 비교해 스마트 클라이언트는 사실 classid 속성에 대해서 2..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기3

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기3 스마트 클라이언트 배포하기 - 3 저 자 : 정성태 첫 회에서 살펴 본 것처럼 ‘Microsoft .NET Framework 1.1 구성’ MMC 콘솔에 보면, ‘내 컴퓨터/런타임 보안 정책’ 하위에 세 가지 보안 정책 유형이 있는 것을 볼 수 있다. 보안 정책 내에서 변경된 내용들은 앞에 소개된 CONFIG 파일에 저장된다. 즉 우리가 만들었던 ‘SmartClientSet’과 ‘InternetSmartClient_Zone’에 대한 설정은 ‘Security.config’ 파일에서 찾아 볼 수 있다. 왜 이것이 필요하게 되는지는 잠시 후에 살펴보겠다. ① Caspol.exe를 이용한 방법을 살펴 보자. 현..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기2

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기2 스마트 클라이언트 배포하기 - 2 저 자 : 정성태 강력한 이름 서명 이제에 대한 사항은 끝마쳤고, 서버 측 코드로 넘어가 보자. 여러분은 자신이 만든 컨트롤에 대해서 ‘강력한 이름 서명’을 해서 배포하기를 원할 것이다. 기존 독립 애플리케이션만을 만들어 본 독자라면 우선 AssemblyKey 특성만을 지정하여 SNK 파일과 연결할 텐데, 스마트 클라이언트에서는 그것만으로는 부족하다. 스마트 클라이언트에서는 ‘강력한 이름 서명’이 된 어셈블리의 경우 다음과 같이 반드시 AllowPartiallyTrustedCallers(이하, APTC) 특성을 포함시켜야만 한다. [assembly: AllowPartia..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기1

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발3-스마트 클라이언트 배포하기1 스마트 클라이언트 배포하기 - 1 저 자 : 정성태 스마트 클라이언트의 경우 제작하는 방법만큼이나 배포가 쉽게 되어 있다. 이번 호에서는 배포하기 전 어셈블리에 대한 추가적인 작업을 먼저 다룬 후, 정상적인 클라이언트 측 동작을 위한 보안 설정과 함께 디버깅 방법에 대해 살펴보겠다. 연+재+순+서 1회 2004.2 | 스마트 클라이언트 탐험하기 2회 2004.3 | 인터넷 익스플로러와 연동하기 3회 2004.4 | 스마트 클라이언트 배포하기 연+재+가+이+드 운영체제 | IIS가 설치된 윈도우(필자의 경우 윈도우 2003 서버) 개발도구 | 비주얼 스튜디오 닷넷 2003, 닷넷 프레임워크 v1.1.432..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기3

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기3 인터넷 익스플로러와 연동하기 -3 저 자 : 정성태 출판일 : 2004년 3월호 DWebBrowserEvents 이벤트 연결 결국 우여곡절 끝에 IWebBrowser2 인터페이스까지 얻게 되었다. 필자가 C#으로 새롭게 정의한 IWebBrowser2 인터페이스로 형변환된 개체는 SHDocVw.IWebBrowser2로 형변환한 것과 동일하게 사용할 수 있다. SHDocVw.dll을 사용하지 않은 관계로 우리가 직접 구현한 C# IWebBrowser2 인터페이스에는 한 가지 문제를 지니고 있는데, 웹 브라우저에 이벤트를 연결할 수 있는 방법이 모호하다는 것이다. SHDocVw.dll 참조에서는 적절한 RC..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기2

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기2 인터넷 익스플로러와 연동하기 - 2 저 자 : 정성태 출판일 : 2004년 3월호 IWebBrowser2 인터페이스 얻기 이번 연재의 하이라이트가 아닐까 생각된다. 필자가 처음 스마트 클라이언트를 제작하고서 가장 먼저 해결하고자 했던 것이 바로 자신을 호스팅하고 있는 IWebBrowser2 인터페이스를 얻어내는 것이다. 아마도 이미 개발된 기존 액티브X 중에서도 많이 활용하고 있는 부분이 아닐까 싶다. 액티브X 컨트롤로 구현할 때의 얘기를 해보면, WebBrowser 개체는 자신이 호스팅하고 있는 모든 컨트롤에 대해서 CreateInstance로 개체를 생성한 후 IUnknown::QueryInterf..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기1

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발2-인터넷 익스플로러와 연동하기1 인터넷 익스플로러와 연동하기 - 1 저 자 : 정성태 출판일 : 2004년 3월호 연+재+순+서 1회 2004.1 | 스마트 클라이언트 탐험하기 2회 2004. 2 | 인터넷 익스플로러와 연동하기 3회 | 스마트 클라이언트 배포하기 연+재+가+이+드 운영체제 | IIS가 설치된 윈도우(필자의 경우 윈도우 2003 서버) 개발도구 | 비주얼 스튜디오 닷넷 2003, 닷넷 프레임워크 v1.1.4322 기초지식 | COM, C#, ASP.NET 기초 응용분야 | 현재로서는 기업 내부의 인트라넷 환경에서 액티브X 컨트롤 대체. 닷넷 프레임워크가 일반화되면 외부 웹 사이트에서 액티브X 컨트롤 대체 =======..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발1-스마트 클라이언트 탐험하기4

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발1-스마트 클라이언트 탐험하기4 스마트 클라이언트 탐험하기 - 4 저 자 : 정성태 출판일 : 2004년 2월호 이벤트 동작을 위한 닷넷 보안 변경 Win32 시절에도 그랬지만 보안은 다가서기가 힘들다. 닷넷은 그나마 쉬운 편이니 큰 부담은 갖지 말기 바란다. 앞에서 이미 ‘이벤트’를 발생시키는 것이 ‘Unmanaged 코드를 호출할 수 없다’는 것으로 인해 예외가 발생한다고 했다. 그렇다면 당연히 그 보안 사항을 허락한다면 이벤트는 정상적으로 동작하게 될 것이다. 우선 이번 호에서는 보안 설정을 ‘Microsoft .NET Framework 1.1 구성’을 통해 해보겠다. 시작 메뉴에서 「프로그램 | 관리도구 | Microsoft.N..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발1-스마트 클라이언트 탐험하기3

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발1-스마트 클라이언트 탐험하기3 스마트 클라이언트 탐험하기-3 저 자 : 정성태 출판일 : 2004년 2월호 이벤트 구현 어떻게 닷넷 프레임워크의 클래스가 COM 개체로 맵핑되는지에 대한 내부 구현은 정확히 알 수 없다. 하지만 IUnknown 관련한 인터페이스에 vtable을 맞추어 주면 호출할 수는 있을 것이다. 마찬가지로 이벤트 역시 COM의 규약을 따르기만 해준다면 상호연동을 하게 될 것이다. 이것을 개발자가 해주어야 할까? 액티브X 시절에는 그렇게 하는 것이 당연했지만 닷넷 프레임워크의 스마트 클라이언트로 와서는 코드라기보다는 ‘특성’으로 바뀌었다. 닷넷의 ‘특성’을 이용하여 개발자가 ‘표시’만 해두면 모든 코드는 컴파일러가 ..

Programming/Dot.NET 2008.02.25

IE에서 닷넷 스마트 클라이언트 개발1-스마트 클라이언트 탐험하기2

출처 블로그 .. 맨 땅에 헤딩~ IE에서 닷넷 스마트 클라이언트 개발1-스마트 클라이언트 탐험하기2 스마트 클라이언트 탐험하기-2 저 자 : 정성태 출판일 : 2004년 2월호 간단한 컨트롤 제작 처음부터 너무 쉽다고 설명해서 내심 걱정된다. 사실 간단한 컨트롤인데도 정작 고려해야 할 것이 많기 때문이다. 아직은 COM에 대한 요소도 적용되어 있고, WinForm 독립 프로그램과는 달리 클라이언트 접근에 대한 보안사항까지 민감하게 적용되다 보니 실제로는 닷넷 프레임워크에 대한 전반적인 지식을 요구할 정도이다. 비록 간단한 컨트롤 제작이지만 이번 시간을 모두 할애할 것이니 차근차근 숙지해 보도록 하자. 실습 : 기본적인 메쏘드, 프로퍼티, 이벤트를 구현한 스마트 클라이언트로써 HTML에서는 구현이 다소 ..

Programming/Dot.NET 2008.02.25