성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 그냥 RSS Reader 기능과 약간의 UI 편의성 때문에 사용...
[이종효] 오래된 소프트웨어는 보안 위협이 되기도 합니다. 혹시 어떤 기능...
[정성태] @Keystroke IEEE의 문서를 소개해 주시다니... +_...
[손민수 (Keystroke)] 괜히 듀얼채널 구성할 때 한번에 같은 제품 사라고 하는 것이 아...
[정성태] 전각(Full-width)/반각(Half-width) 기능을 토...
[정성태] Vector에 대한 내용은 없습니다. Vector가 닷넷 BCL...
[orion] 글 읽고 찾아보니 디자인 타임에는 InitializeCompon...
[orion] 연휴 전에 재현 프로젝트 올리자 생각해 놓고 여의치 않아서 못 ...
[정성태] 아래의 글에 정리했으니 참고하세요. C# - Typed D...
[정성태] 간단한 재현 프로젝트라도 있을까요? 저런 식으로 설명만 해...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<span> <div class='mainCenterTitle'>4. WCF 서비스 참조 추가 메뉴 </div><br /> <br />지난 토픽 중에서 <a target='_blank' href='/2/0/380'>"3.3 웹 서비스와 닷넷 리모팅으로써의 WCF 구현"</a>을 보신 분들은 한 가지 의아하게 생각한 부분이 있을 것입니다. 바로 "서비스에 대한 프록시 코드 자동 생성" 부분일 텐데요. 이번 기회를 통해서 좀 더 좋은 방법이 있음을 설명드려 보겠습니다.<br /> <br /> 해당 토픽에서는 "svcutil.exe"를 설명드렸는데요. 사실 요건 좀 번거로운 방법이고 VS.NET 2005 솔루션 탐색기에서 제공되는 "웹 참조"와 동일한 방식으로도 프록시 코드 생성을 지원해 주고 있습니다. 이를 위해서는 별도로 다음과 같은 툴을 설치해야 합니다.<br /> <br /> Microsoft Visual Studio Code Name “Orcas” Community Technology Preview ? Development Tools for .NET Framework 3.0 <br /> ; <a target='_blank' href='http://www.microsoft.com/downloads/details.aspx?FamilyId=CC77ABFA-A000-48D0-98C9-4AE083033D09&displaylang=en'>http://www.microsoft.com/downloads/details.aspx?FamilyId=CC77ABFA-A000-48D0-98C9-4AE083033D09&displaylang=en</a><br /> <br /> 위의 툴을 설치하시면 ".NET 3.0" 관련한 프로젝트 템플릿도 설치될 뿐만 아니라, 지금 설명드리려는 "서비스 참조" 메뉴도 같이 VS.NET 2005에 생기게 됩니다. 위의 툴을 설치하기 전에 기왕이면 "Windows SDK"를 설치하시면 좋겠지만, 그렇지 않은 경우에도 설치에는 아무런 문제가 없습니다. (단지, 설치하는 동안 몇 가지 경고창이 뜹니다.)<br /> <br /> 일단, 설치가 되었으면 ... 테스트 해볼까요?<br /> <br /> <a target='_blank' href='/2/0/380'>"3.3 웹 서비스와 닷넷 리모팅으로써의 WCF 구현"</a> 토픽에 첨부했던 <a target='_blank' href='/bbs/DownloadAttachment.aspx?wid=380&boardid=331301885'>예제 프로젝트</a>를 기준으로 다시 설명을 드리겠습니다.<br /> <br /> 1. 다운로드 받은 예제는 다음과 같은 솔루션 구조를 가지고 있습니다.<br /> <br /> <img alt='예제 솔루션 구조' src='/SysWebRes/bbs/add_service_ref_1.png' /><br /> <br /> 2. 빌드하고, "WcfRemoteServer.exe"를 실행시켜 둡니다.<br /> <br /> 3. 다음과 같이 "WcfRemoteClient" 프로젝트를 마우스 오른쪽 버튼으로 클릭하고, "Add Service Reference..." 메뉴를 선택합니다.<br /> <br /> <img alt='Add Service Reference 메뉴' src='/SysWebRes/bbs/add_service_ref_2.png' /><br /> <br /> 4. 선택하고 나면, 다음과 같이 "Service URI" 또는 "Service reference name"을 입력받는 창이 나오게 됩니다. "Service URI"에는 "WcfRemoteServer" 프로젝트의 app.config에 기록해 두었던 해당 서비스의 "baseAddress"를 입력하고, "Service reference name"에는 임의의 식별자를 입력합니다.<br /> <br /> <img alt='Add Service Reference 대화창' src='/SysWebRes/bbs/add_service_ref_3.png' /><br /> <br /> 5. 결과는 "웹 참조"와 동등합니다. 프로젝트 하위 노드에 다음과 같이 "Service References" 폴더가 생성되고 그 하위로 서비스 프록시 클래스 파일이 생성되어져 있습니다.<br /> <br /> <img alt='Add Service Reference 결과' src='/SysWebRes/bbs/add_service_ref_4.png' /><br /> <br /> 6. "WcfRemoteClient" 프로젝트의 "Program.cs" 파일을 다음과 같이 수정합니다.<br /> <br /> <pre class='code'> static void Main(string[] args) { HelloWorldClient hwc = new HelloWorldClient(); Console.WriteLine(hwc.HelloWorld()); <b>AddRefService.HelloWorldClient addhwc = new WcfRemoteClient.AddRefService.HelloWorldClient(); Console.WriteLine(addhwc.HelloWorld());</b> } </pre> <br /> 7. 마지막으로, 빌드를 실행하면 에러 없이 정상적으로 exe 파일이 생성됩니다.<br /> <br /> <br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </span>
첨부파일
스팸 방지용 인증 번호
4303
(왼쪽의 숫자를 입력해야 합니다.)