Я вызываю метод RedirectToAction для вызова метода действия с другого контроллера, но он очищает все данные сеанса Я отлаживал global.asax и узнал, что когда я вызываю RedirectToAction, он вызывает Session_Start(). Я не знаю, как называется сеанс сеанса. Вот мой веб-код конфигурации для формы и сессии тегаMVC RedirectToAction вызывает Session_Start() в global.asax
для сеанса тега
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>
и для тега формы
<authentication mode="Forms">
<forms loginUrl="~/ControllerName/ActionName" timeout="2880" />
</authentication>
это «~/ControllerName/ActionName» это то же метод с порогом Я звоню «RedirecToAction»
только для информации, что я пытаюсь, если бы я нашел файлы cookie для пользователя, он будет перенаправлен на главную страницу с страницы входа di di di rectly
оба метода действия находятся в разных контроллерах и в разных областях. здесь код, который использует метод «RedirecToAction»
public class LoginController : Controller{
public ActionResult Index()
{
if (Request.Cookies["UserName"] != null && Request.Cookies["Password"] != null)
{
FillLoginSession();//Fills Session with user data ex. Session["User_Id"] = 1;
return RedirectToAction("Index", "Home", new { area = "Home" });
}
}}
и вот метод действия в другом контроллере, к которому я перенаправление.
public class HomeController : Controller{
public ActionResult Index()
{
return View();
}}
Я добавил код, из которого я вызываю метод RedirectToAction. Вы можете видеть, что я заполняю переменные сеанса непосредственно перед методом RedirectToAction, но когда вызывается RedirectToaction, он вызывает Session_Start и все установленные ранее значения сеанса очищаются. –