VisualStudio/WCF 4

[WCF] AppConfig 설명

이전 강좌에서는 간단한 Hello World 서비스를 작성해 보았고 그에 관련된 사항들을 살짝 맛보기로 살펴보았다. 하지만 이전 컬럼에서 작성한 코드를 살펴보면 상당히 불만족스러운 사항을 발견한 독자들이 있을 것이다. 예전에 ASP.NET으로 웹 서비스와 그 클라이언트를 작성해 본 독자라면 더더욱 그러할 것이다. 필자가 예상할 수 있는 불만사항은 이렇다. 뭐가 그렇게 복잡하게 코딩이 많이 들어가는가와 서비스의 주소나 바인딩 설정 등 하드 코딩 된 부분이 많다는 점일 것이다. 서비스의 주소를 서비스와 클라이언트가 코드 상에 직접 하드코드 하여 명시한 것과 MessageEncoding 속성 역시 코드 상에서 고정시켰던 것을 상기하면 무엇이 문제인지 알 수 있을 것이다. ASP.NET 웹 서비스 개발 경험자에..

VisualStudio/WCF 2023.01.03

[WCF] Windows 서비스 호스팅을 사용하는 WCF 서비스 라이브러리

이 응용 프로그램을 샘플로 사용하면 누구나 WCF를 사용하여 n 계층 모델에서 응용 프로그램을 설계할 수 있습니다. 소개 일반적으로 우리는 WCF 서비스를 준비하고 IIS에서 호스트합니다. 이는 시스템 외부에서 서비스에 액세스하는 다른 클라이언트가 있을 때 유용합니다. 그러나 서비스가 로컬 시스템 클라이언트를 위한 것이라면 WCF 서비스를 Windows 서비스로 호스트하는 것이 좋습니다. 이 문서에서는 WCF 서비스를 만들고 Windows 서비스로 실행하는 방법을 살펴봅니다. 이 응용 프로그램을 샘플로 사용하면 누구나 WCF를 사용하여 n 계층 모델에서 응용 프로그램을 설계할 수 있습니다. 이를 위해 우리는 서비스가 한 위치에 상주하고 다른 위치에서 호스팅되고 다른 위치에서 소비되는 계층화된 아키텍처를 ..

VisualStudio/WCF 2023.01.03

[WCF] WCF - 프록시 사용이유

클라이언트가 서비스에 대한 메타 데이터를 알아낼 수 만 있다면 서비스 프록시를 만드는데 필요한 서비스 인터페이스를 생성할 수 있다. 왜냐면 서비스 메타 데이터에는 프록시가 요구하는 서비스의 계약, 바인딩, 주소 정보가 모두 포함되어 있기 때문이다. Hello World 서비스를 예로 들어 설명하자면, 서비스 호출에 필요한 것은 IHelloWorld 인터페이스이다. 이를 위해 우리는 서비스의 구현이 포함되었던 HelloWorldService 어셈블리를 클라이언트에서 "참조" 했었다. 이러한 서버 측 구현을 참조하는 것은 서비스 지향적인 관점에 어긋날 뿐만 아니라 닷넷이 아닌 클라이언트를 사용할 수 없다는 단점이 있다는 것은 이미 지적한 바와 같다. 그렇다면 클라이언트가 IHelloWorld 인터페이스에 대..

VisualStudio/WCF 2023.01.03