1

我有两个AJAX调用 c# 函数的调用。这两个函数获取datatablesHTML 并将其返回给客户端以显示表格。

我目前的需要是在将datatables它们转换为 html 之前访问它们,它们位于这些函数内部,以某种方式存储它们,然后在第三个 c# 函数中重新使用它们,该函数只能在两个 AJAX 调用完成后调用。

我曾考虑将这些值存储在 a 中session,但这似乎不是很干净,因为表可能相当长(尽管不宽)。

理想的解决方案如下所示:

  • Ajax 调用 #1 -> 调用 c# 函数 -> saveDataSetInFunction(dataset1)
  • Ajax 调用 #2 -> 调用 c# 函数 -> saveDataSetInFunction(dataset2)
  • btnClick -> 调用 c# 函数来访问通过该saveDataSetInFunction函数可用的两个数据表。
4

2 回答 2

0

事实是您需要将它们存储在内存中的某个位置,因此使用会话或其他方式都没有关系:缓存、共享变量等。

我要么将表存储在缓存中(System.Runtime.Caching-MS 建议将其用于所有缓存需求),缓存时间适当短,要么我会将结果存储在 Session 中并让第三个函数从会话中删除数据。

于 2013-07-26T10:18:35.613 回答
0

你真的只有两个选择:

  1. 在服务器上保存数据(会话、临时文件、数据库中的临时表等...)
  2. 将整个数据发送到客户端,并在需要时将其发送回服务器

如果不知道完整的应用程序,就不可能猜出最佳方法,选择时请记住:

  • 要存储/传输的数据量
  • 服务器负载
  • 客户端规格
  • 可用带宽
于 2013-07-26T10:24:09.007 回答