Asp.NET return 向用户会话添加数据时的 ActionResult

Asp.NET return ActionResult while adding data to user session

我有一个类似的方法:

 public ActionResult Index() 
 {    
    Session["test"] = GetData();
    return View(); 
 }

因为我的 GetData() 方法耗时太长,我想知道我是否可以做一些 async 以便 return ViewGetData() 是 运行 并将对象添加到用户会话。 我已经考虑过将这个方法分成 2 个方法,第一个方法 return 'View()' 和第二个用 ajax 调用的方法,只是为了将对象添加到会话中,但我想使用这个作为最后的手段。

提前致谢!

Because my GetData() method takes too long, I was wondering if i can do something async in order to return the View while GetData() is running and adding the object to user session.

您绝对不希望 运行 在 初始页面加载 时进行长时间 运行ning 查询。用户可能会认为网络连接丢失,并不断按 F5 刷新页面。

相反,您需要两种操作方法 -

  1. 第一种操作方法returns常规视图。然后在客户端,您向操作方法 2 发出 Ajax 请求。

  2. 第二种操作方法returnsJSON响应

仅供参考: 您要确保第二个操作方法需要用户登录才能访问。否则,您可能会遇到 DDoS 攻击。