私はWCFで簡単なREST APIを書いており、認証メカニズムはAPIキーを使用しています。クライアントがリクエストヘッダ内のAPIキーを送信すると、以下のように、私は(BaseServiceクラスでRequestInterceptorクラスののprocessRequest()メソッドをオーバーライド)サーバー側でそれを確認してください。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にはServiceメソッド内からアクセスできますが、ProcessRequestメソッドではアクセスできないことに注意してください。
なぜでしょうか?