HTTP 및 HTTPS를 통해 액세스 할 수있는 WCF 서비스가 있지만 HTTPS에서 특정 메소드 만 사용할 수 있다고 가정 해 봅시다. 현재 요청이 HTTPS인지 어떻게 확인할 수 있습니까? HttpContext가 비어 있으므로 HttpContext.Current.Request.IsSecureConnection을 체크 할 수 없습니다 - 다른 아이디어? 미리 감사드립니다.WCF 서비스가 HTTP 또는 HTTPS를 통해 호출되는지 여부를 나타내는 방법은 무엇입니까?
3
A
답변
5
WCF 응용 프로그램을 ASP.NET이 전혀없는 Windows 서비스로 호스팅 할 수 있다고 가정하십시오.이 경우 "안전"대 "안전하지 않은 것"이 없습니다. 그것이 WCF가이 정보를 사용할 수 있도록 시도하지 않는 한 가지 이유입니다.
하나의 옵션은 ASP.NET Compatibility Mode에서 WCF 서비스를 실행하는 것입니다. 여기에서 을 수행하면은 HttpContext.Current
인스턴스에 액세스 할 수 있습니다.
그러나 보안 운영을 위해 다른 SSL 전용 서비스를 만드는 것이 좋습니다. 어쨌든이 작업을 원한다고 생각합니다. 따라서 계약은 명시 적입니다. 그렇지 않으면 런타임 검사가 수행되고 클라이언트는 사용하려는 메소드가 허용되지 않는다는 것을 모를 수 있습니다.
웹 서비스의 "우수 사례"는 이러한 유형의 제한을 가능한 한 명시 적으로 지정하고 SSL을 통해서만 사용할 수있는 별도의 서비스를으로 지정하면 서비스 제한 사항을 가장 명확하게 설명하는 입니다.
OperationContext.Current.RequestContext.RequestMessage.Headers.To.Scheme
포함처럼
0
HTTPS는 HTTP와는 다른 포트를 통해 제공됩니다. 아마 포트를 알고 있다고 가정하면 충분할 것입니다.
2
(마 엘렌 의해 답변을 내 @Aaronaught에서 코멘트에 건물 ...)
것 같습니다 "HTTP"또는 "HTTPS를"다른 사람 (msdn)들.
0
방법에 대해 :
이 매우 용이 포트 번호에 의존하지 않고 (var iwrc = WebOperationContext.Current.IncomingRequest;
var isHttps = iwrc.UriTemplateMatch.BaseUri.Scheme.Equals("https", StringComparison.InvariantCultureIgnoreCase);
.
관련 문제
- 1. UIWebView에서 HTTP 또는 HTTPS를 사용해야하는지 여부를 감지합니다.
- 2. 특정 조건에 따라 http 또는 https를 추가하십시오.
- 3. Firefox에서 HTTPS를 통해 XMLHttpRequest를 작동시키는 방법은 무엇입니까?
- 4. PHP에서 HTTPS를 통해 POST 요청을하는 방법은 무엇입니까?
- 5. 특정 WCF 서비스가 실행 중인지 확인하는 방법은 무엇입니까?
- 6. WCF InstanceContextMode.PerSession이 https를 통해 작동하지 않는 이유는 무엇입니까?
- 7. WCF 서비스가 있는지 확인하십시오.
- 8. 종속성 속성을 구독하고 있는지 여부를 나타내는 방법은 무엇입니까?
- 9. 오른쪽 또는 왼쪽으로 흔들림을 나타내는 방법은 무엇입니까?
- 10. clientaccesspolicy.xml이 HTTPS를 통해 요청되지 않음
- 11. ASP.NET, WCF : 나는 WCF 서비스가
- 12. https를 통해 사이트에 연결
- 13. Remoting을 통해 메서드가 호출되는지 확인 하시겠습니까?
- 14. 지정된 어셈블리를 통해 어셈블리가 호출되는지 확인
- 15. http 페이지에서 https를 사용하는 Ajax
- 16. https를 통한 WCF 서비스 호출
- 17. HTTP 페이지에서 HTTPS를 통해 JS 파일 가져 오기
- 18. HTTP 및 HTTPS를 모두 지원하는 WebHttpBinding (Restful) 용 WCF 구성
- 19. NSURLConnection에서 HTTPS를 사용하는 방법은 무엇입니까?
- 20. WCF DataContract가 영구적이거나 일시적인 엔터티를 나타내는 지 확인하는 방법은 무엇입니까?
- 21. WCF 서비스가 응답하지 않습니다.
- 22. Asp.Net에서 https를 통해 UserControl을로드하십시오.
- 23. NSURLCredential은 https를 통해 안전합니까?
- 24. 웹 브라우저를 통해 프로토콜이 지원되는지 여부를 감지하는 방법은 무엇입니까?
- 25. HTTPS를 통해 Django 정적 파일을 제공하는 방법은 무엇입니까?
- 26. https를 통해 couchdb 이불에 액세스
- 27. Silverlight에서 https를 통해 비누에 액세스
- 28. WCF 서비스가 Windows 방화벽을 통해 개체를 검색 할 수 없습니다.
- 29. 채널 예외로 인해 WCF 서비스가 작동하지 않도록하는 방법은 무엇입니까?
- 30. 다운로드 파일 HTTP 작동하지 않습니다하지만 작업 HTTPS를 통해 미세
그렇다면 사용중인 포트는 어떻게 찾을 수 있습니까? 메타 문제. – Aaronaught
@Aaronaught :'OperationContext.Current.RequestContext.RequestMessage.Headers.To'는 요청을 보낸 uri를 반환해야합니다. –