我有一个 ASP.NET MVC 应用程序,它使用 NHibernate 将数据持久保存到 SQL Server 数据库中。
在某些情况下,我想将一个条目保存到数据库中(最初由调用控制器上的操作方法触发),但无需阻止调用者。
尝试在数据库中实现“即发即弃”机制是否“安全”,该机制将数据库调用放入任务中,然后在后台调用它,以便控制可以立即返回给调用者?(或者使用 BackgroundWorker 或“async/await”关键字完成相同的事情)我需要一个解决方案,其中 NHibernate 不会被 ASP.NET 试图清理其 ISession 所绊倒,这是每个请求的。我在会话中使用 Autofac 进行生命周期管理。我假设数据库操作的生命周期会比 Web 请求本身的生命周期稍长一些,我不确定这会如何顺利进行。