如果我在每个Web请求中实例化这样的对象图,那对性能是否有害?

Controller
  -> Service
      -> UnitOfWork
          -> Repository
              -> DbContext

如果我有一个单例 ServiceUnitOfWorkRepository 以及每个Web请求 DbContext ,我将在第一个Web请求之后访问 DbContext 时遇到 InvalidOperationException's ,因为单例 Repository 保持对 DbContext 的引用在第一次请求结束时处理 . 解决这个问题的唯一方法是让每个类都按照链接's lifestyle ' Per Web Request' .

注意可能有多个服务和存储库,如果采用这种方法,可能会有许多类需要在每个Web请求中实例化 .

像这样创建一个对象图每个Web请求都会成为现代Web服务器的沉重负担吗?我应该采取将DbContext工厂注入我的存储库的方法吗?