首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wierd asp.net会话修复

Wierd asp.net会话修复
EN

Stack Overflow用户
提问于 2016-09-11 05:16:04
回答 1查看 46关注 0票数 0

最近,我在asp.net会话中遇到了一个奇怪的问题,这个问题实际上发生在下面的示例代码中。

创建会话的代码(Login.aspx.cs)

代码语言:javascript
运行
复制
public partial class Login : System.Web.UI.Page
{
    protected async void btnLogin_Click(object sender, EventArgs e)
        {

            await request_login();
            if (canLogin == true)
            {
                Response.Redirect("Dashboard.aspx");
            }
         }

   private async Task request_login()
        {
            // call web service with httpClient
               Session["key"] = "session object to be stored";
        }
}

调用会话的代码(Dashboard.aspx.cs)

代码语言:javascript
运行
复制
public partial class Dashboard : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            String sessionDetails = Session["key"] as String;
        }
     }

当我运行这段代码时,我从Session["Key"]获得了一个空字符串。通过在我的home.aspx文件中添加一个虚拟会话(本质上是网站的默认页面),我设法用一个奇怪的修复方法解决了这个问题。

Home.aspx.cs

代码语言:javascript
运行
复制
public partial class Home : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //wierd fix that allows session access
            Session["home"] = "fromHome";
        }
    }

在添加Session["home"]之后,我的Session["key"]能够完美地工作。为什么会发生这种事?Session["key"]不应该在不需要在home.aspx.cs中添加Session["home"]的情况下完美地工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-11 06:47:16

试试这个:

代码语言:javascript
运行
复制
public partial class Login : System.Web.UI.Page
{
    protected async void btnLogin_Click(object sender, EventArgs e)
        {

            await request_login();
            if (canLogin == true)
            {
                Response.Redirect("Dashboard.aspx",false);
            }
         }

   private async Task request_login()
        {
            // call web service with httpClient
               Session["key"] = "session object to be stored";
        }
}

因此,这不会中止线程。

如果您想知道发生这种情况的确切原因,请访问以下网站:_

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39433105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档