いくつかの質問を見ました(ここそしてここ) ですが、私の質問には答えていません。私は「ajax.ashx」ファイルを使用して Ajax を呼び出そうとしており、関数内でセッションにアクセスしようとしています。何らかの理由で、セッション オブジェクト自体の値は null です。
使用例:
Session = HttpContext.Current.Session // This is null
または:
public virtual void ProcessRequest(HttpContext context)
{
System.Web.SessionState.HttpSessionState Session = context.Session;
// This is null
}
Web.config の場合:
<sessionState timeout="1800"></sessionState>
ベストアンサー1
次のようにハンドラーIRequiresSessionState
の宣言に追加する必要があります。
public class YourHandleName : IHttpHandler, IRequiresSessionState
{
...
デフォルトでは、ハンドラは最小限に抑えるためにセッションに接続されていません。 を追加することで、IRequiresSessionState
ハンドラをセッションに接続します。