2010-07-05 3 views
0

ASP.NET 보안 모델 (AspNetCompatibilityRequirements가 허용으로 설정된 경우)을 사용하는 웹 서비스에서 작업하고 있습니다.IMetadataExchange 끝점은 실제로 무엇을합니까?

WCF - Windows authentication - Security settings require Anonymous

I을 : 다른 많은 사람들처럼, 나는 여기에 설명 된대로 각 서비스에서 MEX 엔드 포인트를 제거하는 것입니다 주위에 mexHttpBinding가 얻을 것이 유일한 방법을 필요로하기 때문에 익명 액세스를 말하는 오류가 필요있어 mex 끝점을 제거함으로써 생각했습니다. WSDL을 생성하거나 Visual Studio에서 서비스에 대한 참조를 추가 할 수는 없지만 모든 기능은 여전히 ​​작동합니다. 나는 "mex 바인딩"을 신속하게 봤지만 대부분의 웹 사이트는 "메타 데이터 교환"에 대해 실제로 그렇게하는 것에 대해 너무 많은 세부 사항을 언급하지 않고 있다고 말합니다.

mex 바인딩 제거의 부작용은 누구에게 말해 줄 수 있습니까?

답변

0

WCF 서비스가 서비스 메타 데이터를 노출하지 않으면 Visual Studio (서비스 참조 추가) 내에서 서비스 참조를 추가 할 수 없으며 다른 클라이언트가 해당 메서드 및 데이터에 대해 서비스를 검색 할 수 없습니다. 필요해.

메타 데이터 제거 Exchange (mex)는 기본적으로 서비스를 "보이지 않음"으로 렌더링합니다. 잠재적 인 호출자는 다른 방법을 찾아야합니다 (예 : WSDL 파일과 함께 제공되거나 클라이언트가있는 클래스 라이브러리 어셈블리를 가져 와서 사용할 수있는) 서비스가 무엇을 할 수 있는지에 대해 설명합니다.

위험성이 높은 환경에서는 괜찮을 수도 있지만 대부분 서비스의 질의를 할 수 있고 메타 데이터를 통해 자체적으로 설명 할 수있는 기능이 있습니다. 이것은 SOAP 기반 서비스의 주된 장점 중 하나입니다. 메타 데이터 덕분에 자체 데이터, 작업, 필요한 모든 데이터 구조를 설명 할 수 있습니다. 이 기능을 사용하면 해당 서비스를 정말 쉽게 호출 할 수 있습니다. 단지 mex 끝점을 가리키며 해당 서비스에 대해 알아야 할 모든 정보를 찾을 수 있습니다.

0

메타 데이터 교환이 없으면 svcutil.exe를 사용하여 프록시 클래스를 자동으로 생성 할 수 없습니다.

관련 문제