2011-11-26 4 views
2

C#에서 프록시 개체를 사용하고 싶습니다. Windows Communication Foundation을 통한 네트워킹을 구현할 것입니다. 지금까지 동일한 컴퓨터에서 서로 다른 프로세스에서 작동하는 아주 기본적인 WCF 서비스를 만들었습니다. 클라이언트 클래스가 동일한 프로세스에서 실제 객체를 사용할 수있게하고 프록시 객체를 사용하여 인터넷을 통해 실제 객체에 액세스 할 수있게하려고합니다. 이제는 수동으로 모든 메소드에 대한 인터페이스를 만들 수 있고, 인터넷을 통해 사용하고 싶고, 수동으로 프록시 메소드를 호출하여 각각의 메소드를 호출하고 서비스 호스트와 서비스 클라이언트에서 각각의 서비스를 수동으로 생성 할 수 있습니다 .C#에서 프록시 개체 만들기

그러나 WCF 또는 모든 소프트웨어가 자동으로 인터페이스와 프록시 클래스를 만들 수있는 방법은 무엇입니까?

답변

5

서비스의 메타 데이터를 읽고 C# 클래스를 만드는 데 사용하려는 것 같습니다. svcutil.exe입니다.

문서는 여기에 있습니다 : 더 구체적으로 여기 http://msdn.microsoft.com/en-us/library/aa347733.aspx

과 : http://msdn.microsoft.com/en-us/library/aa751905.aspx

생성 된 프록시 클래스를 제어하는 ​​옵션의 넓은 (매우 광범위한!) 범위가 있습니다. http://service/metadataEndpoint

는 svcutil

를 가장 간단하게 메타 데이터를 읽을 것이며, 한 번에 C#을 클래스를 만들 수 있습니다.

Visual Studio 2005 이상을 사용하는 경우 프로젝트를 마우스 오른쪽 단추로 클릭하고 "서비스 참조 추가 ..."를 선택하고 대화 상자에 따라 클라이언트 프록시를 생성하십시오. 이를 통해 프록시 클래스를 쉽게 사용자 정의 할 수 있습니다.

유틸리티가 작동하려면 일종의 메타 데이터를 게시해야합니다. 이 기능을 사용하는 방법에 대한 자세한 내용은 여기 : http://msdn.microsoft.com/en-us/library/ms734765.aspx을 참조하십시오.

+0

이 방법은 서비스 자체가 아닌 서비스 용 클라이언트 만 생성한다는 것을 알고 있습니다. Visual Studio에서 리팩터링을 통해 클래스 인터페이스를 자동으로 생성하는 방식으로 서비스를 자동으로 생성 할 수 있는지 궁금합니다. –

+0

서비스를 어떻게 생성 할 수 있습니까? 노출하고자하는 수업의 방법을 어떻게 알 수 있습니까? –

+0

동일한 방식으로 Visual Studio에서는 자동으로 클래스 용 인터페이스를 생성합니다. 그냥 메서드와 속성 목록을 제공하고 yuo 원하는 것을 체크하도록 요청하거나 모두를 사용할 수있는 옵션이 있습니다. –