0

私は2人のハンドラーを持っています。

Authentication.ashx Handler で、次のようにセッションにオブジェクトを保存します。

HttpContext.Current.Session["ConnectionUserSession"] = userCache;

次に、別のハンドラー Send.ashx があり、Authentication.ashx に保存されたオブジェクトを取得したいと考えています。

どうすればいいですか?オブジェクトを取得するための私のコードは次のとおりです。

UserCache userCache = (UserCache) HttpContext.Current.Session["ConnectionUserSession"];

問題: userCache は常に null であり、IRequiresSessionState が両方のハンドラーに実装されています。

4

2 に答える 2

0

彼らが何を意味するかは、Authentication.ashx にあると思います。

public void ProcessRequest (HttpContext context) {
    context.Session["ConnectionUserSession"] = userCache;
}

Send.ashx では、

public void ProcessRequest (HttpContext context) {
    UserCache userCache = (UserCache) context.Session["ConnectionUserSession"];
}
于 2012-12-07T15:00:15.923 に答える
0

どちらかの行

HttpContext.Current.Session["ConnectionUserSession"] = userCache;

が実行されないか、保存と取得に使用される文字列キーが異なるか、または

Session.Abandon();

これら 2 つのハンドラーの間。

于 2012-12-07T15:24:20.023 に答える