API へのクロス ドメイン アクセス用の GUID にマップされているユーザー セッションのテーブルにエントリを作成しています。表の行は [guid, cookie] のように表示され、ログイン時に入力されます。
session.guid = Guid.NewGuid();
session.cookie = FormsAuthentication.GetAuthCookie(sUser.email, false).Value;
私が抱えている問題は、セッションが終了したときにこれをデータベースから削除することです。これまでのところ、機能していないようです。
Session_End() では:
var cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
string cValue = cookie.Value;
using (var db = new xEntities())
{
Session session = db.Sessions.Where(p => p.cookie == cValue).FirstOrDefault();
db.Sessions.Remove(session);
db.SaveChanges();
}
ここで私が間違っていることに誰かが光を当てることができますか?