0
セッションが終了してユーザーがフォームを送信しようとすると、問題が発生します。たぶん私は、セッションを期限切れに正しく使用していないが、インデックスにユーザーをリダイレクトする代わりに、システムがエラーをスローします。 C#MVC SessionExpireAttribute
この
はSessionExpireAttributepublic class SessionExpireAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.Session != null)
{
if (filterContext.HttpContext.Session.IsNewSession)
{
RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary();
redirectTargetDictionary.Add("action", "Index");
redirectTargetDictionary.Add("controller", "Home");
filterContext.Result = new RedirectToRouteResult(redirectTargetDictionary);
}
}
}
}
の私の定義で、属性が私のクラスに配置された場所です
namespace ContractManager.Controllers
{
[SessionExpireAttribute]
public class ICAController : Controller{}
}
エラーは何ですか?スタックトレース全体を投稿してください。 – NightOwl888
エラーは次のとおりです。オブジェクトがオブジェクトのインスタンスに設定されていません(残念ながらスタックトレースはありません)。セッションが終了したことを認識するのではなく、フォームを保存しているコードが実行され、セッションが終了したためにこのエラーがスローされます。 – vegas2033