2017-07-05 11 views
0

私がBreeze用に使用しているAPIコントローラは1回しか構築されていないと思います。しかし、コンストラクタでブレークポイントを設定すると、アプリケーションを起動してユーザとしてログインします。コントローラが何度か構築されます。BreezeControllerが何回も構築されるのはなぜですか?

BreezeControllerが構築されるワークフローの説明はどこにありますか?各ルートにコントローラのインスタンスが1つありますか?

[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>(); 
    } 
    ... 

答えて

1

これが毎回構築される理由は、BreezeControllerが単なるWeb APIコントローラに過ぎないということです。 Web Apiコントローラは、すべての要求に対してデフォルトでインスタンス化されます。あなたがApiコントローラの寿命についてのさらなる情報に興味があり、なぜそれらがすべての要求に対してインスタンス化するのかについては、これに関するStackoverflowに関するいくつかの良い記事があります。 BreezeController属性は、APIコントローラの一部のフィルタプロバイダを変更するだけでなく、JSONフォーマッタをBreezeクライアントで動作するものに変更します。

関連する問題