문제

기존 웹 서비스를 WCF 서비스로 교체하고 있으며 마이그레이션의 첫 단계로 클라이언트가 올해 나중에 업그레이드 될 때까지 Basichttpbinding으로 엔드 포인트를 노출시킬 것입니다.

이 계획은 Windows 서비스와 함께 새로운 WCF 서비스를 호스팅하는 것입니다 (서비스는 인트라넷 내에서만 호출되므로 HTTP가 실제로 필요하지 않음). 단계.

그러나 WCF 서비스에서 발신자의 호스트 이름을 얻는 데 어려움이 있습니다. Context.Request.userHostName을 사용하여 현재 웹 서비스 코드를 살펴보고 호스트 이름을 얻습니다. 발신자의 사용자 이름과 IP 주소를 얻었지만 환경의 모든 관련 권한/보안 서비스는 IP와는 달리 호스트 이름을 사용하므로 내 서비스 내에서 호스트 이름을 얻을 수있는 방법이 있습니까?

추신 ClientCredientileType를 Windows로 설정하여 보안 모드를 전송 할 수있는 상태로 설정했습니다.

도움이 되었습니까?

해결책

IIS에서 호스팅하지 않으므로 사용할 수 없습니다. ASP.NET 호환성 모드 액세스하기 위해 HttpContext 일반적으로 ASP.NET 프로세스에 존재합니다.

대신, 당신은 그것을 사용할 수 있습니다 GetHostEntry 방법Dns 수업 에서 System.Net 네임 스페이스 얻기 위해 IPHostEntry 사례 여기에는 얻은 IP 주소에 대한 별칭 (DNS 이름)이 포함됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top