我的设置:用户有一个页面,他在其中执行一些操作和数据转换。
我将这些操作存储在数据集中(在会话中)。
然后,单击一个按钮,我需要执行更多转换并调用自定义数据库函数,该函数会将每个数据表中的每一行插入到数据库中。我已经解决了所有问题,而且效果很好。
但是,现在,我需要做的是修改按钮单击事件不立即运行,而是将该操作放入队列中(这是所有用户的公共队列)。所以如果 user1 点击按钮,然后 user2 点击按钮,那么我们需要获取 user1 数据集并在其上运行方法,然后才能获取 user2 数据集并在其上运行方法。一个队列。
private void btnclick()
{
DataSet ds = Session["test"] as DataSet;
PerformFinalTransformation(ds);
foreach (DataTable dt in ds.Tables)
{
foreach (DataRow dr in dt.Rows)
{
CallCustomSqlFunction(dr);
}
}
}
如果可能的话,我想避免将数据集存储在数据库中,因为它们对于每个用户(表/列的数量)都不相同。我正在寻找有关如何在 asp.net /c# 中完成此操作的任何指示。(我应该考虑quartz.net 吗?)。我应该寻找哪些概念?并行编程?或asp.net队列?或者是其他东西?甚至无法开始,因为不知道从什么开始。顺便说一句,如果有帮助的话,我会在我的应用程序中使用最新的 DotNetNuke。