在后台任务中放置的StructureMap.MVC5容器

时间:2019-01-17 16:00:22

标签: asp.net-mvc asp.net-mvc-5 structuremap

我正在处理的应用程序在特定请求期间对后端的调用非常慢。我们不是希望用户必须等待请求完成,而是将调用包装在Task.Run()中,然后将其忽略,然后将视图返回给用户。

但是,由于如何设置StructureMap.MVC5,所以将容器放置在请求的末尾:

            context.EndRequest += (sender, e) =>
            {
                HttpContextLifecycle.DisposeAndClearAll();
                StructuremapMvc.StructureMapDependencyScope.DisposeNestedContainer();
            };

由于Task.Run()内部的代码仍依赖于IContainer,并且已经被处理掉了,因此在尝试访问它时显然会出现异常。

我是否仍然可以使用StructureMap嵌套容器,但仍然为此实例保持足够长的生命?

0 个答案:

没有答案