0

在Asp.net MVC项目中,我将用户重定向到登录后的另一个页面。重定向后未找到会话值

在开发环境中,所有会话变量都返回null。

在生产但是这工作正常,会话变量正确检索。

可以有一个请解释为什么开发环境中的所有变量都是空的。

[AllowAnonymous] 
[HttpPost] 
public ActionResult Login(LoginModel model, string returnUrl) 
{ 
    // Some validations 

    if (Url.IsLocalUrl(returnUrl)) 
      { 
       var urlDeCoded = HttpUtility.UrlDecode(returnUrl); 
       var htmlDecoded = HttpUtility.HtmlDecode(urlDeCoded); 
       return Redirect(htmlDecoded); 
      } 
} 

/// Retreiveing session variables 
var vm = SessionData.GetCurrentObject<MembershipWizardViewModel>(); 

在web.config中我有一个的sessionState相同的值在两个Envirnoments即 “是InProc”

+0

每次都会发生吗? – ZippyV

+0

是的..它每次都发生.. – hussian

+0

我想通了,因为我有一个页面内的部分和登录控制是在部分...在登录父母页面不刷新,所以它继续失去会议。我需要一种方法来刷新登录时的父页面。 – hussian

回答

1

你失去你的会议? 我认为这可能是cookies的一个问题:会话ID可以保存在Cookie中,如果您在位于不同服务器上的Url上重定向,Cookie会有所不同,因此会为您创建一个新的会话......具有空变量。 一个常见的错误是从“本地主机”重定向到“127.0.0.1”,即使它在技术上相同,也会导致很多麻烦。

+0

是的,我松了会议.. 加我重定向到相同的域和相同的服务器。 – hussian

+0

我觉得,因为我有一个页面内的部分和登录控制是在部分...在登录父母页面不会刷新,所以它继续失去会议。我需要一种方法来刷新登录时的父页面 – hussian