Почему сессия истекает при отправке формы в Asp.Net MVC? - PullRequest
0 голосов
/ 04 января 2019

Когда я пытался отправить конкретную форму, сессия истекает.

Пожалуйста, не связывайте эту проблему с тайм-аутом сеанса. Я проверил с другими формами, все работают нормально, но когда я пытался отправить конкретную форму, сессии истекает.

Вот мой [SessionExpire] атрибут, который я использую, чтобы гарантировать, что сессия не истекает.

public class SessionExpireAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        HttpContext ctx = HttpContext.Current;

        // check  sessions here
        if (HttpContext.Current.Session["createdby"] == null)
        {
            filterContext.Result = new RedirectResult("~/Account/Login");
            return;
        }

        base.OnActionExecuting(filterContext);
    }
}

Вот мое действие контроллера

[SessionExpire]
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Edit([Bind(Include = "FirmId,Name,Email,Phone,Status,CellPhone,UnitLimit,Address,PaymentDate,NextPaymentDate,Currency,NoUnit,NoProperty,ExpectedNoUnit,BusinessType,Website,ClientId,CreatedDate,CreatedBy,DeletedBy,DeletedOn,PackageId,IsCustomPackage")] FirmDM objFirm, HttpPostedFileBase fileLogo, HttpPostedFileBase fileSign)
{
     //My logic
}

Вот моя форма

@using (Html.BeginForm("Edit", "Firm", FormMethod.Post, new { enctype = "multipart/form-data", @class = "form-horizontal", role = "form" }))
{
     @Html.AntiForgeryToken()
     //My input fields
     <input type="submit" class="btn btn-default" value="Save" />
}

Я нашел много вопросов об истечении сеанса в переполнении стека, например this , но не смог решить проблему. Мне любопытно, почему мое значение сеанса становится нулевым, когда не отправляете конкретную форму?

Пожалуйста, запросите, если потребуется, любую другую информацию.

1 Ответ

0 голосов
/ 04 января 2019

Похоже, что оно относится к простому пулу приложений вашего приложения IIS (или IIS express) ... см. ссылку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...