1

我是 asp.net mvc 的新手。我有一个应用程序类,每个请求只需要一个实例。它有 IDispose,所以我需要正确处理它,我称它为每一页命中。

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

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

4

2 回答 2

0

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

于 2013-01-21T01:31:21.420 回答
0

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

protected override void Dispose(bool disposing)

    {
    _requestRepository.Dispose();
    base.Disposing(disposing);
    }
于 2013-01-21T08:52:00.840 回答