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 mvc Ninject请求范围和派生线程_Asp.net Mvc_Multithreading_Nhibernate_Ninject - Fatal编程技术网

Asp.net mvc Ninject请求范围和派生线程

Asp.net mvc Ninject请求范围和派生线程,asp.net-mvc,multithreading,nhibernate,ninject,Asp.net Mvc,Multithreading,Nhibernate,Ninject,我用Ninject和NHibernate配置了我的MVC应用程序。我收到一些请求,它们所做的只是将一些工作排队,启动一个线程来处理队列,然后返回 我已将NHibernate会话设置为RequestScope。现在我的问题是,Ninject是否会在请求结束后立即杀死我的会话对象?或者它会为生成的线程保留它吗?我对NInject不太熟悉,但如果它与其他DI容器一样工作,我希望在请求终止后您的会话将不可用。如果需要在同一个应用程序域中运行后台进程,您可能会考虑提供两条解决iSeDes的路径,一个使用T

我用Ninject和NHibernate配置了我的MVC应用程序。我收到一些请求,它们所做的只是将一些工作排队,启动一个线程来处理队列,然后返回


我已将NHibernate会话设置为RequestScope。现在我的问题是,Ninject是否会在请求结束后立即杀死我的会话对象?或者它会为生成的线程保留它吗?

我对NInject不太熟悉,但如果它与其他DI容器一样工作,我希望在请求终止后您的会话将不可用。如果需要在同一个应用程序域中运行后台进程,您可能会考虑提供两条解决iSeDes的路径,一个使用TycEnter用于后台线程访问,另一个使用应用程序Web部分的请求范围。如果需要将使用web会话检索的实体传递到后台线程,请务必小心


如果您可以将后台进程拆分到另一个应用程序域,您还可以创建一个自定义作用域,用于检查HttpContext,然后决定使用哪个作用域。

答案是肯定的,Ninject将在HttpContext被垃圾收集后的某个时间点尝试停用会话对象。请参阅此博客帖子: