为什么我的BreezeController构造了好几次?

为什么我的BreezeController构造了好几次?,controller,breeze,Controller,Breeze,我希望我用于Breeze的API控制器只构造一次。但是,如果我在构造函数中设置了断点,请启动我的应用程序并以用户身份登录。。。我的控制器构造了好几次 我在哪里可以找到BreezeController构建工作流程的描述?每个路线是否有一个控制器实例 [BreezeController] public class DomainController : ApiController { private readonly IUnitOfWork _unitOfWork; pri

我希望我用于Breeze的API控制器只构造一次。但是,如果我在构造函数中设置了断点,请启动我的应用程序并以用户身份登录。。。我的控制器构造了好几次

我在哪里可以找到BreezeController构建工作流程的描述?每个路线是否有一个控制器实例

  [BreezeController]
  public class DomainController : ApiController
  {
    private readonly IUnitOfWork _unitOfWork;
    private readonly ApplicationUserManager _userManager;

    public DomainController(IUnitOfWork unitOfWork)
    {
      _unitOfWork = unitOfWork;
      _userManager = HttpContext.Current.GetOwinContext()
                                .GetUserManager<ApplicationUserManager>();   
    }
  ...
[BreezeController]
公共类域控制器:ApiController
{
私人只读i工作单元(unitof工作单元);;
专用只读应用程序userManager\u userManager;
公共域控制器(IUnitOfWork unitOfWork)
{
_unitOfWork=unitOfWork;
_userManager=HttpContext.Current.GetOwinContext()
.GetUserManager();
}
...

每次构造该控制器的原因是,
BreezeController
只是一个Web Api控制器。默认情况下,Web Api控制器会在每个请求上实例化。如果您对Api控制器生命周期的更多信息感兴趣,以及为什么它们会在每个请求上实例化,Stackoverflo上有几篇很好的帖子关于这一点,
BreezeController
属性只是更改了API控制器上的一些过滤器提供程序,还将JSON格式化程序更改为可与Breeze客户端一起使用的格式