以下に示すように、Asp.Net ashxハンドラーのセッション変数にアクセスしようとしています。
public void ProcessRequest (HttpContext context) {
context.Session["VariableName"] = Id;
}
ただし、上記のメソッド内では、context.Sessionは常にNullです。 ashxファイルのSessionオブジェクトにアクセスするにはどうすればよいですか?
IRequiresSessionState または IReadOnlySessionState のいずれかを「実装」する必要があります。前者はセッションへのフルアクセスを提供し、後者は読み取り専用アクセスを提供します。
ここでは「実装」を引用しています。これら2つはいわゆる「 マーカーインターフェイス 」であり、メンバーがないことを意味します。
VBでは、Antonが言及したインターフェイス(IRequiresSessionStateまたはIReadOnlySessionState)を次のように実装します。
Public Class MyAshxFile
Implements System.Web.IHttpHandler
Implements System.Web.SessionState.IRequiresSessionState ''need this for session variables
Implements System.Web.SessionState.IReadOnlySessionState ''need this for session variables