我希望我用于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>();
}
...
答案 0 :(得分:1)
每次构造它的原因是BreezeController
只是一个Web Api控制器。默认情况下,Web Api控制器会在每个请求中实例化。如果您对Api控制器的生命周期以及为什么它们在每个请求上实例化的更多信息感兴趣,那么Stackoverflow上有几个关于此的好帖子。 BreezeController
属性只是更改了API控制器上的一些过滤器提供程序,并且还将JSON格式化程序更改为适用于Breeze客户端的格式化程序。