考えていた質問があります。
ブラウザにURLを入力して[Enter]をクリックすると、対応するコントローラのコードが実際に実行されるまでどうなりますか?
asp.netmvcアプリケーションと次のような簡単なコントローラーがあるとします。
public class HomeController : Controller
{
public ActionResult About(int id = 25)
{
//code
}
}
したがって、そのように入力するとmyUrl/home/about?id=56
、コントローラーが呼び出されます。{controller}/{action}/{id}
デフォルトで宣言されているようなルーティングパターンがあることは知っています。しかし、URLがそのパターンに一致する場合、コントローラーインスタンスが作成されますか、それともどうなりますか?Resolverクラスなどはありますか?URLの「ホーム」が?と一致するようにすべてのコントローラーを含むリストのようなものはありますHomeController
か?
コントローラーシグニチャーのidパラメーターは、モデルバインディングを使用して、リクエストコンテキストの対応するid値にバインドされることを知っています。しかし、ここでは他にもたくさんの魔法が起こっているに違いありません。
誰かが新鮮な混乱したasp.netmvcユーザーを助けることができることを願っています