WCF에서 간단한 REST API를 작성했으며 인증 메커니즘이 API 키를 사용합니다. 클라이언트가 요청 헤더에 API 키를 제출하면, 내가 (RequestInterceptor 클래스의이 ProcessRequest() 메소드를 오버라이드 (override) BaseService 클래스에서) 서버 측에서 그것을 검사로는 다음과 같습니다WCF의 HttpContext
public partial class BaseService : RequestInterceptor
{
public BaseService() : base(false) { }
#region Process Request
public override void ProcessRequest(ref RequestContext requestContext)
{
if (IsValidApiKey(requestContext))
//put some values in HttpContext object.
}
을 ...
이제 REST 서비스에서 aspnet 호환성을 활성화했지만 위의 ProcessRequest 재정의에서 HttpContext 객체에 액세스 할 수 없습니다. HttpContext는 서비스 메서드에서는 액세스 할 수 있지만 ProcessRequest 메서드에서는 액세스 할 수 없습니다.
왜 그런가?