Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在asp.net webforms应用程序中将审核数据异步保存到数据库_Asp.net_Multithreading_Asynchronous - Fatal编程技术网

在asp.net webforms应用程序中将审核数据异步保存到数据库

在asp.net webforms应用程序中将审核数据异步保存到数据库,asp.net,multithreading,asynchronous,Asp.net,Multithreading,Asynchronous,我有一个asp.NET3.5Web应用程序,它可以生成大量与审计相关的数据。由于该数据与用户没有直接关系,我希望能够将其异步保存到MSSQL数据库,并让用户无需等待即可进入下一页。我用Nhibernate作为我的ORM 我已经研究了PageAsyncTasks,据我所知,它们只允许您并行执行页面操作,但所有操作仍然必须在页面完成加载之前完成。是否有另一种相当轻量级的异步处理方法,可以在不影响页面加载的情况下继续进行?简单地手动旋转一个新线程是可以接受的过程吗 您可以在您的解决方案中创建一个web

我有一个asp.NET3.5Web应用程序,它可以生成大量与审计相关的数据。由于该数据与用户没有直接关系,我希望能够将其异步保存到MSSQL数据库,并让用户无需等待即可进入下一页。我用Nhibernate作为我的ORM


我已经研究了PageAsyncTasks,据我所知,它们只允许您并行执行页面操作,但所有操作仍然必须在页面完成加载之前完成。是否有另一种相当轻量级的异步处理方法,可以在不影响页面加载的情况下继续进行?简单地手动旋转一个新线程是可以接受的过程吗

您可以在您的解决方案中创建一个web服务,当您的服务器端代码完成并准备好将用户移动到下一页时,它可以调用您的web服务来进行审计,就像fire and forget类型一样

不确定NHibernate会话是否是线程安全的,因此如果创建新线程,请小心上下文

理想情况下,您可以使用队列和servicebus安全、异步地处理这类事情,但这涉及到架构更改

不确定这是否可行,但如果审计实际上明显降低了UI速度,那么您最好改进该过程并保持同步。不管怎样,祝你好运