asp.net mvc中每个请求的类实例

时间:2013-01-20 23:49:18

标签: asp.net-mvc

我是asp.net mvc的新手。我有一个app类,每个请求只需要一个实例。它具有IDispose所以我需要它才能正确处理,我会在每个页面命中它。

我发现的问题是我有时需要在我的视图中调用方法。我不知道如何访问控制器中的类,查看并在每个请求结束时正确处理它。我觉得我需要用我自己的控制器类替换所有控制器作为基础。但是这只有在它首先执行视图并且我可以从视图中访问MyController中的成员时才会起作用(实际上我可以将它放入viewbag中而不是我)

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

一种解决方案是连接依赖注入框架(例如Ninject)并让它控制对象的生命周期。 Ninject有一个InRequestScope生命周期策略,它将为每个请求创建一个对象,因此后续调用获取对象将返回相同的对象,如果它在同一个请求中。

答案 1 :(得分:0)

实现依赖注入后,您可以在控制器中处理下面的依赖项或对象。

protected override void Dispose(bool disposing)

    {
    _requestRepository.Dispose();
    base.Disposing(disposing);
    }